[英]How to ask one question at a time for a math quiz
這應該用隨機數和運算符生成隨機數學測驗。 我如何讓它一次打印一個問題,如果他們得到正確的答案,請將其添加到他們的分數中?
score = 0
for i in range(10):
ops=['+','-','*','//']
num1 = random.randint(1,20)
num2 = random.randint(1,20)
if ops == '+':
answer=num1+num2
elif ops == '-':
answer = num1-num2
elif ops == '*':
answer = num1*num2
elif ops == "//":
answer == num1//num2
print(num1,ops[random.randint(0,3)],num2,'=')
這是您的代碼的固定版本。 你有幾個錯誤。
您需要選擇一個運算符(我在這里使用了random.choice
)
answer == num1//num2
需要一個簡單的=
您可以使用input
來請求用戶輸入
import random
n = 10
score = 0
for i in range(n):
ops=['+','-','*','//']
num1 = random.randint(1,20)
num2 = random.randint(1,20)
op = random.choice(ops)
if op == '+':
answer = num1+num2
elif op == '-':
answer = num1-num2
elif op == '*':
answer = num1*num2
elif op == "//":
answer = num1//num2
try:
test = int(input(f'{num1} {op} {num2} = '))
except ValueError:
print('invalid input')
continue
if answer == test:
print('correct!')
score += 1
else:
print(f'wrong, the answer was: {answer}')
print(f'you scored {score}/{n}')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.