这段代码工作正常,但我很困惑为什么我只需要将age
更改为整数而不是months
,weeks
或days
。如果我只是添加age = 25
,那么它不会给出任何错误。
age = input("What is your current age? ")
Years_remaining = Years_remaining = (90 - int(age))
months = Years_remaining * 12
weeks = Years_remaining * 52
days = Years_remaining * 365
print (f"you have {days} days, {weeks} weeks, and {months} months left")
这就是为什么:age
是str
,因为这是input
方法返回的,因此,您必须将其转换为int
以减去90并将其存储在Years_remaining
中。
此时,Years_remaining
是int
,因此months
不需要任何强制转换,因为它的两个操作数现在都是int
(Years_remaining和12)。
例如,如果您将age
转换为float
,那么months
,weeks
等也将是float
。
这对你有意义吗?