python数学问题

python数学问题,python,python-3.x,math,Python,Python 3.x,Math,我正在创建一个教我弟弟数学的程序。但举例来说,当程序说2+2,我输入4时,它说“不正确!”。我做错了什么 import random import math def addition(): num1 = random.randint(1, 100) num2 = random.randint(1, 100) result = num1 + num2 guess = input(str(num1) + " + " + str(num2) + " = ")#this

我正在创建一个教我弟弟数学的程序。但举例来说,当程序说2+2,我输入4时,它说“不正确!”。我做错了什么

import random
import math

def addition():
    num1 = random.randint(1, 100)
    num2 = random.randint(1, 100)
    result = num1 + num2
    guess = input(str(num1) + " + " + str(num2) + " = ")#this is the line with problem
    if guess == result:
        print("Correct!")
    if guess != result:
        print("Incorrect!")
addition()

result
是一个整数(例如,4),输入的猜测是一个字符串(例如,“4”)。为了比较它们,需要将它们转换为相同的类型。例如:

result = str(num1 + num2)
将答案包装为int

 guess = int(input(str(num1) + " + " + str(num2) + " = "))

输入
键入
int

import random
import math
def addition():
    num1 = random.randint(1, 5)
    num2 = random.randint(1, 5)
    result = num1 + num2
    guess = input(str(num1) + " + " + str(num2) + " = ")
    guess = int(guess) #input is string and it must be typecast to int
    if guess == result:
        print("Correct!")
    if guess != result:
        print("Incorrect!")
addition()

您忘记将
guess
转换为
int
。可能是重复的,谢谢!你帮了我!现在,我有另一个问题。。。在程序未关闭的情况下,如何让程序在循环中生成随机数?@RičardsLūciņš:如果你真的想问这个问题,你应该把它作为一个单独的问题,并给出完整的解释。不要在这里重复你的问题。*提问