我正在尝试编写一个程序,询问用户的姓名和年龄,并返回他们到100岁的时间。我不断地犯错误,我不明白我做错了什么
下面是我修改过的更基本的代码,我试图让它工作,因为让我的f字符串用{age}
、{name}
等打印时遇到了太多阻力
import sys, math
# Inputs
name = str(input("What is your name: "))
age = str(input("How old are you: "))
# Calculations
diff = (100 - age)
year = str((2020 - age)+100)
# Output
print ("Hay " + name + " you are currently " + age + " years old, in " + diff + " years you will be 100, in the year " + year)
在我的程序的diff = (100 - age)
阶段,它返回以下内容:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
~/Documents/Python/years until you are 100.py in
7 # Calculations
8
----> 9 diff = (100 - age)
10
11 year = str((2020 - age)+100)
TypeError: unsupported operand type(s) for -: 'int' and 'str'
我错过了什么
对!!我自己弄到的,以防其他人像我一样想知道
以下是正确的代码
这个问题正如我和另一位非常友好的用户在关于这个问题的评论中所说的那样
我忘记了所有的输入都是字符串,所以当我使用我的(age)变量时,它不会做数学运算
在我计算之前,只需添加一个从str到int的转换,就可以解决所有问题:D:
age = int(age)
相关问题 更多 >
编程相关推荐