这段代码运行良好,但我很困惑为什么我只需要将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")
1条答案
按热度按时间svmlkihl1#
这就是为什么:
age
是str
,因为这是input
方法返回的内容,因此,您必须强制转换为int
,以便将其减去90,然后将其存储在Years_remaining
中。此时,
Years_remaining
是int
,因此months
不需要任何转换,因为它的两个操作数现在都是int
(Years_remaining and 12)。例如,如果您将
age
转换为float
,则months
、weeks
等也将是float
。这对你有意义吗?