随机输入python生成器
问题描述:
我想创建一个随机问题生成器来帮助我修改。我有问题,当我正确或错误地输入我的答案时,我会连续两次输出错误。随机输入python生成器
这是我的代码,在底部我有评论线。当我只有一个答案的可能性时,它们是可能的,可能不需要,但无论如何都保留。
import random
a = ('What is 1 + 2?')
b = ('What is 2 + 2?')
questions = [a, b]
answer = (int(input(random.choice(questions))))
answer = a
answer = b
if a == 3:
print('Correct')
else:
print ('False')
if b == 4:
print('Correct')
else:
print ('False')
#if answer == 2:
# print ('Well Done')
#else:
# print ('No Incorect')
答
我修改了一下你的代码。
import random
questions = ['What is 1 + 2?','What is 2 + 2?' ]
a,b = questions
x = random.choice(questions)
if x == a:
l = int(input(a))
if l == 3:
print('Correct')
else:
print('False')
elif x == b:
l = int(input(b))
if l == 4:
print('Correct')
else:
print('False')
如果你不明白它做什么,只是添加的print()语句:)
答
听起来像是你试图宣布答案lambda函数。
你可能有更好的运气这样做:
...
answer = lambda q: int(input(q))
answer_a = answer(a)
answer_b = answer(b)
if (answer_a == 3):
....
你认为以下行正在做的:'答案= A; 答案= B' –
你的变量'了'和'B'的问题,这不等于任何数量,这样既'if'语句告吹他们'else'。 – kindall
所有'if'个案都将被评估。如果我输入了'a == 2',那么'如果a == 3:'是'False',所以'print('False')'会触发。但是,它也会检查'if b == 4:'呃......我猜这就是'==('什么是2 + 2?')'在这种情况下,所以它也是'假',你再次获得'print('False')'。 – roganjosh