我一直致力于此计划,任何形式的帮助将不胜感激。
计划找到两年之间的闰年并将它们添加到阵列中......
from array import array
x=int(input("Enter the year "))
print("the year you entered is",x)
while x<=2017:
if x%4==0:
print(x)
n=array('i',[x])
n.append(x)
x=x+1
else:
x=x+1
print(n)
enter the year 1992
the year you entered is 1992
1992
1996
2000
2004
2008
2012
2016
array('i', [2016, 2016])
答案 0 :(得分:4)
问题在于,每次每年可被4整除时,您都会重新设置数组的值。您要做的是在循环外声明数组。
from array import array
x=int(input("enter the year from which you want to know the leap year from"))
print("the year you entered is",x)
n=array('i')
while x<=2017:
if (x % 4 == 0 and x % 100 != 0) or x % 400 == 0:
print(x)
n.append(x)
x += 1 # we need to add 1 regardless, no need for else
print(n)
# output: array('i', [1992, 1996, 2000, 2004, 2008, 2012, 2016])
答案 1 :(得分:2)
在循环外移动n的第一个赋值,并将while
替换为for
。像
n=array('i') # or you can use smthg like n=[]
for i in range(i,2018):
if i%4==0:
n.append(i)
除此之外,您还有错误的闰年测试。来自wiki:
每年可被4整除的是闰年,除了可以被100整除的年份,但如果它们可以被400整除,那么这些年份就是闰年。例如,1700年,1800年,和1900年不是闰年,但1600年和2000年是。Leap year