关于闰年
闰年不是这样定义的吗?即能被4整除但不能被100整除,或者能被400整除都是闰年。输出打印2000-3000年之间的闰年:
for i in range(2000, 3000):
if i % 400 == 0:
print(i)
2000
2400
2800
只有三个闰年?好像不对吧 你给出的代码只考虑了能被400整除的情况,而忽略了能被4整除但不能被100整除的情况。根据闰年的定义,我们应该同时考虑这两种情况。请参阅下面的修正后的代码:
for i in range(2000, 3001):
if (i % 4 == 0 and i % 100 != 0) or i % 400 == 0:
print(i)
这段代码将打印出2000-3000年之间的所有闰年。 这个问题是因为你这里的if语句表达的意思是:如果年份能被四百整除则执行下列代码。
如果要达到您的要求,就需要这样写:for i in range(2000, 3000):
if (i % 4 == 0 and i % 100 % != 0) or (i % 400 == 0):
print(i)
如果您对这个答案满意的话,请设置最佳答案!{:5_102:} isdkz 发表于 2023-3-22 21:36
你给出的代码只考虑了能被400整除的情况,而忽略了能被4整除但不能被100整除的情况。根据闰年的定义,我们 ...
就晚了十秒呀{:10_266:} 兄弟你自己都说了能被4整除但不能被100整除,或者能被400整除。怎么就判断了一个能被400整除
for i in range(2000, 3000):
if i % 400 == 0 or (i%4==0 and i%100!=0):
print(i)
注意审题
for i in range(2000, 3001):
if (i % 4 == 0 and i % 100 != 0) or i % 400 == 0:
print(i) 未泯 发表于 2023-3-22 21:38
兄弟你自己都说了能被4整除但不能被100整除,或者能被400整除。怎么就判断了一个能被400整除
哦哦哦,我明白了,
或者……,或者……,所以我以为只要后半句,现在明白了要用or 感谢上面三位大神的指点,我给第一回答的大神吧,另外两位大神莫怪,可惜最佳答案只有一个 sfqxx 发表于 2023-3-22 21:41
注意审题
谢谢第四位大神 {:5_109:}
页:
[1]