这适用于Python 3.3。当我运行这个程序时,它总是运行子程序" func_addition"。
我想让它从列表中选择一个随机子例程。所以,它会问一个随机算术问题。
import random
def func_addition():
a = random.randint(1,25)
b = random.randint(1,25)
c=a+b
answer=int(input("What is "+str(a)+" + "+str(b)+" ? "))
def func_subtraction():
d = random.randint(10,25)
e = random.randint(1,10)
f=d-e
answer=int(input("What is "+str(d)+" - "+str(e)+" ? "))
def func_multiplication():
g = random.randint(1,10)
h = random.randint(1,10)
i=g*h
answer=int(input("What is "+str(g)+" X "+str(h)+" ? "))
my_list=[func_addition() , func_subtraction() , func_multiplication()]
name=input("What is your name ? ")
print("Hello "+str(name)+" and welcome to The Arithmetic Quiz")
print(random.choice(my_list))
答案 0 :(得分:3)
删除parens,或者在创建列表时调用所有函数。
my_list = [func_addition , func_subtraction , func_multiplication]
name = input("What is your name ? ")
print("Hello {} and welcome to The Arithmetic Quiz".format(name))
chc = random.choice(my_list) # pick random function
chc() # call function
您似乎没有看到使用您的变量,我会执行以下操作来验证答案:
def func_addition():
a = random.randint(1,25)
b = random.randint(1,25)
c = a + b
answer = int(input("What is {} + {} ? ".format(a,b)))
if answer == c:
print("Well done, that is correct")
else:
print(" Sorry, that is incorrect, the correct answer is {}".format(c))
答案 1 :(得分:0)
import random
def func_addition():
a = random.randint(1,25)
b = random.randint(1,25)
c=a+b
answer=int(input("What is "+str(a)+" + "+str(b)+" ? "))
def func_subtraction():
d = random.randint(10,25)
e = random.randint(1,10)
f=d-e
answer=int(input("What is "+str(d)+" - "+str(e)+" ? "))
def func_multiplication():
g = random.randint(1,10)
h = random.randint(1,10)
i=g*h
answer=int(input("What is "+str(g)+" X "+str(h)+" ? "))
my_list=[func_addition , func_subtraction , func_multiplication] #without parentheses
name=input("What is your name ? ")
print("Hello "+str(name)+" and welcome to The Arithmetic Quiz")
random.choice(my_list)()