我的代码有什么问题?目前它正在询问有关名称的问题,但没有别的?我认为这是从列表中调用项目的东西;我使用了字符串,但我认为这是不正确的。任何人都可以帮助我做我应该做的事情吗?
subs=["Multiplication" , "Addition" , "Subtraction"]
import random
score=0
def addition_sub1():
a=random.randint(1,20)
b=random.randint(1,20)
question1=int(input("What is" +str(a)+ "+" +str(b)+ ""))
c=(a+b)
if question == c:
print("Correct!")
score=score+1
else:
print("Incorrect!")
return score
def subtraction_sub1():
d=random.randint(1,20)
e=random.randint(1,20)
question2=int(input("What is" +str(a)+ "+" +str(b)+ ""))
f=(d+e)
if question2 == f:
print("Correct!")
score=score+1
else:
print("Incorrect!")
return score
def Multiplication_sub1():
g=random.randint(1,20)
h=random.randint(1,20)
question2=int(input("What is" +str(a)+ "+" +str(b)+ ""))
i=(d+e)
if question2 == i:
print("Correct!")
score=score+1
else:
print("Incorrect!")
return score
name=input("What is your name? ")
print("Welcome to my quiz " +name)
for i in range(0,9):
op=random.choice(subs)
if op == str(0):
Multiplication_sub1()
if op == str(1):
addition_sub1()
if op == str(2):
subtraction_sub1()
答案 0 :(得分:0)
random.choice
将从列表中返回一个随机元素。所以代码应该是:
if op == "Multiplication":
Multiplication_sub1()
if op == "Addition":
addition_sub1()
if op == "Subtraction":
subtraction_sub1()
但是,我想给你一些建议。
在不同的函数中使用相同名称的变量是可以的。您可以在所有功能中呼叫a
,b
和question
。
由于三个if
条件是互斥的,因此您应该用elif
替换底部的两个。