随机输入python生成器

随机输入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') 
+1

你认为以下行正在做的:'答案= A; 答案= B' –

+1

你的变量'了'和'B'的问题,这不等于任何数量,这样既'if'语句告吹他们'else'。 – kindall

+0

所有'if'个案都将被评估。如果我输入了'a == 2',那么'如果a == 3:'是'False',所以'print('False')'会触发。但是,它也会检查'if b == 4:'呃......我猜这就是'==('什么是2 + 2?')'在这种情况下,所以它也是'假',你再次获得'print('False')'。 – roganjosh

我修改了一下你的代码。

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): 
....