我找不到正确的循环来使代码工作!
我尝试使用while循环,我可以让python显示用户选择的两年之间的所有闰年,但不以要求我使用的格式显示。

start = int(input("Enter start year: "))
end = int(input("Enter end year: "))

if start < end:
  print ("Here is a list of leap years between " + str(start) + " and " + str(end)  + ":")

 while start < end:
    if start % 4 == 0 and start % 100 != 0:
        print(start)
    if start % 100 == 0 and start % 400 == 0:
        print(start)
    start += 1

if start >= end:
 print("Check your year input again.")

问题描述:如果一年可以被4整除,那么它就是闰年,除了任何一年可以被100整除之外
只有当闰年也可以被400整除时,它才是闰年写一个程序
用户给出的两年之间的闰年程序应该列出10个leap
每行年份,列出每年之间的逗号,并在末尾加上句号,作为
在下面的输入/输出示例中:
Enter start year: 1000
Enter end year: 1200
Here is a list of leap years between 1000 and 1200:
1004, 1008, 1012, 1016, 1020, 1024, 1028, 1032, 1036, 1040,
1044, 1048, 1052, 1056, 1060, 1064, 1068, 1072, 1076, 1080,
1084, 1088, 1092, 1096, 1104, 1108, 1112, 1116, 1120, 1124,
1128, 1132, 1136, 1140, 1144, 1148, 1152, 1156, 1160, 1164,
1168, 1172, 1176, 1180, 1184, 1188, 1192, 1196, 1200.

提示:答案使用for循环来处理从开始年份到
年末,作为闰年计数器的额外变量,以及各种if和if-else语句
在循环中检查年份是否是闰年,是否需要逗号,以及是否需要新行
是必要的。

最佳答案

情况应该不同-

if (start % 4 == 0 and start % 100 != 0) or (start % 4 == 0 and start % 400 == 0):

此外,为了将结束年份包括在范围内,循环条件应该是-
while start <= end:

关于python - Python leap年计算器(用户选择的两年之间),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54390620/

10-09 19:11