为什么我的数学测验总是在答案正确时打印错误

时间:2015-12-11 10:11:12

标签: python random

好吧所以即时编写一个代码,随机生成问题并让用户回答,但我的问题是,即使用户得到正确的答案,它也总是打印错误

print ("what is your username")
name = input () .title()
print (name, "welcome")
import random
score=0
question=0
for i in range(10):
    ops = ["+", "-", "*"]
    num1 = random.randint (0,10)
    num2 = random.randint (0,10)
    oparator = random.choice(ops)
    Q=(str(num1)+(oparator)+(str(num2)))
    print (Q)
    guess = input()
    guess = int(guess)
    if oparator =='+':
        answer = (str(num1+num2))

    elif oparator =='-':
        answer = (str(num1-num2))

    else:
        oparator =='*'
        answer = (str(num1*num2))

    if guess == (Q):  
        print ("correct")
        score + 1

    else:
        print ("incorrect")   
老实说我不明白有什么不对。 任何帮助将不胜感激 p.s我知道我的代码一团糟

1 个答案:

答案 0 :(得分:3)

您需要将猜测与答案进行比较。

    print ("what is your username")
    name = input().title()
    print (name, "welcome")
    import random
    score=0
    question=0
    for i in range(10):
        ops = ["+", "-", "*"]
        num1 = random.randint (0,10)
        num2 = random.randint (0,10)
        oparator = random.choice(ops)
        Q=(str(num1)+(oparator)+(str(num2)))
        print (Q)
        guess = input()
        guess = int(guess)
        if oparator =='+':
            answer = int(str(num1+num2)) # Convert to int

        elif oparator =='-':
            answer = int(str(num1-num2))

        else:
            oparator =='*'
            answer = int(str(num1*num2))

        if guess == answer:  # Compare user's answer with actual answer
            print ("correct")
            score = score + 1 # Update the score

        else:
            print ("incorrect") 
相关问题