程序随机生成附加问题并将其显示给用户

时间:2016-06-22 18:17:16

标签: python

我试图编写一个生成随机数的程序,要求用户猜测加法输出,当用户无法正确猜测输出时,它应该打印所执行的猜测总数。 我的代码如下。任何帮助都非常感谢。

from random import randint
a = randint(0,100)
b = randint(1,100)
c=raw_input(" enter your answer ") 
    for i in range(10):
        print  a,'+',b,'=', c
    print('Correct!\n') #if answer is correct
elif
    print ('Correct Solutions!' (i))  

1 个答案:

答案 0 :(得分:0)

首先,你的缩进搞砸了。并且您似乎有多个不同版本的python代码 - print(),因为函数是python3,print,因为语句是python2。 python3也使用input()而不是raw_input()。在这个答案中,我将假设python3和这个缩进模型:

from random import randint
a = randint(0,100)
b = randint(1,100)
c = input(" enter your answer ") 
for i in range(10):
    print( a,'+',b,'=', c)
    print('Correct!\n') #if answer is correct
    elif
        print ('Correct Solutions!' (i))  

首先,elif要求前面有if。我认为这应该像

if (a+b) == int(c): 
    print("Correct")

然后下一个应该是else,因为答案是正确的,或者不是。

接下来,在循环之前,您只获得一次输入。由于我们处于循环中,我们也将解决这个问题 - 因为循环是有限的,它们只会发生X次而不会发生。当这个人真的很糟糕并且错误地回答12次会发生什么?由于循环完成,它们永远不会正确。将其重写为while循环:

count=0 # no correct answers yet
while True: # Keep going until they're right
    # Edits as per comments:
    a = random.randint(0,100)
    b = random.randint(0,100)
    # end edits.
    c = input((str(a)+' + '+str(b)+' = '))
    # Check if correct
    if (a+b) == int(c):
        print("Correct!")
        count += 1
    else:
        print("Incorrect.")
        break # stop when they get one wrong

此外,输入始终以字符串形式出现 - 您必须将其强制转换为数值。

编辑:根据评论添加了几行。