TypeError 阻止减法

TypeError prevents subtraction

大家下午好,我是 Whosebug 的新手,一般来说 Python。我正在上一门大学课程,但我很难确定一个操作数错误,这是我从一个非常简单的计算和 return 程序中得到的:

currentYear = 2020
age = input("How old were you in 2020, in numbers? ")

birthYear = currentYear - age

print("Your birth year was: " + str(birthYear))

正在 returned 的错误是 TypeError: 不支持的操作数类型 -: 'int' 和 'str'

我试过删除打印中的连接,转换为字符串,我试过将变量“currentYear”和“age”的计算作为字符串。我还尝试通过插入 int(input()) 格式在“age”变量上强制输入整数。这是一个我忽略的非常基本的问题,我敢肯定,但我束手无策!

欢迎光临!您的问题是 age 是一个字符串,因为 input 输出用户提供的任何字符串。幸运的是你可以明确地把它变成一个整数,像这样:

age = input("How old were you in 2020, in numbers? ")

birthYear = currentYear - int(age)

print("Your birth year was: " + str(birthYear))

注意:这完全忽略了用户输入错误且输入的值不是数字的情况。例如,如果他们输入“八”或其他内容。不过这是一个完全不同的问题!