2 回答

TA貢獻1775條經驗 獲得超8個贊
1 使“答案”與用于“問題”的同一組 random.randomint 匹配。
您可以先構建一個列表,該列表創建數字并將其用于問題和答案。
numbers = [(random.randint(1, 12), random.randint(1,12)) for _ in range(NoofQ)]
然后在問答中使用它:
for question_num in range(1,NoofQ +1): #i would prefer that question_num starts at 0
ops = ['*','/','+','-']
rand, rand2 = numbers[question_num-1]
2 為用戶提供一個選項來選擇用于測驗的特定運算符而不是隨機運算符。
op = input("Please enter your operator (+, -, /, or *): ")
3 對于減法運算符,確保第一個操作數大于第二個操作數,以免程序給出否定答案。
if operation == "-" and rand < rand2:
rand, rand2 = rand2, rand

TA貢獻1851條經驗 獲得超4個贊
為了確保正減法結果,您可以使用abs 函數?;蛘吣梢韵葘χ颠M行排序:
answer = abs(4-3)
small, big = sorted((4,3))
answer = big - small.
您制作了一個xyz_quiz.txt包含答案代碼所需的所有信息的文件。閱讀測驗文件,對于每個問題,使用str方法進行拆分和剝離,直到獲得數學。
>>> question = '1: 6 - 11 = ________'
>>> question, _ = question.split('=')
>>> question
'1: 6 - 11 '
>>> q_number, q = question.split(':')
>>> q_number
'1'
>>> q
' 6 - 11 '
>>> q = q.strip()
>>> q
'6 - 11'
>>>
添加回答
舉報