【发布时间】:2021-09-06 09:01:04
【问题描述】:
所以,上周,我收到了一些关于 Python 3 的工作,其中一个问题如下:“编写 (a) 输入年份的程序。你的程序应该输出它是闰年还是不是。要确定它是否是闰年,请测试它是否能被 4 整除。"
这是我目前得到的:
yearStr = input("Please input a year: ")
year = float(yearStr)
calculation = year / 4
print(calculation)
if calculation == .0:
print("This is a leap year.")
else:
print("This is not a leap year.")
当我运行程序时,IF 语句没有按预期工作。你能帮帮我吗?
【问题讨论】:
-
二进制表示的浮点数存在很多问题。您可以使用
//
将数字四舍五入到整数。 -
在需要测试闰年时,为什么您曾经将年份转换为浮点数?使用 int()。此外,您还需要模运算符来检查某些东西是否无余数 - 不是正常的除法。这是功课的味道。 year/4 将永远为 0 的唯一方法是如果 year 以 0 开头
-
@PatrickArtner:嗯,这个问题除了说是家庭作业。没有错。这是一个有效的问题,而不是一个懒惰的家庭作业转储。
标签: python if-statement math floating-point integer