Python中int函数使用疑问:为何仅需转换age为整数
问题解答:为何仅需转换age为整数?
这段代码运行正常,但我有个疑问:为什么只需要把age转换成整数,却不用转换months、weeks或days?如果直接设置
age = 25,也不会报错。
age = input("What is your current age? ") 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")
核心原因是Python的运算规则:
input()函数返回的是字符串类型,字符串和整数没法直接做减法运算,所以必须把age转成整数才能完成90 - age的计算。- 当
Years_remaining是整数类型后,它和整数12、52、365相乘,结果自动是整数类型,不需要额外转换——整数之间的算术运算结果默认还是整数,后续用这些变量做字符串格式化完全没问题。 - 直接设置
age = 25时,age本身就是整数,和90相减不需要类型转换,自然不会报错。
内容的提问来源于stack exchange,提问作者Himanshu
相关产品推荐
相关产品推荐

