2016-09-23 5 views
0

をプリントアウト!助けてください!最終年度の入力年 ため均一なために、日付と私は時間のためにこれらをやってきたカウンタ

たとえば1990年から2000年のPythonのために新しいです。

は、基本的には、i)は、(出力は数年は、私がリストに変換し、LENを使用するのではと思った3つのカウント

がある1992 1996 2000

ある

になりたいですしかし、私は方法がわからない

#inputs 
year = int(raw_input("Input year: ")) 
endyear = int(raw_input("Input end year:")) 

print "The number of leap years are " 

counter = 0 
for x in range(year,endyear+1): 

    if x % 4 == 0 and (x % 100 != 0 or x % 400 == 0): 
     counter +=1 
     print x 
     print counter 

HERESに現在の結果:(

うるう年の数が

1900 
0 
1901 
0 
1902 
0 
1903 
0 
+0

!バージョン2は、再び更新してください – user2947950

答えて

1

問題は、必要に応じて年が発生した場合、breakあなたのループを停止したあります。あなたはまた、に括弧を削除する場合があります

year = int(raw_input("Input year: ")) 
end_year = int(raw_input("Input end year:")) 

print "The number of leap years are " 

counter = 0 
temp = [] 
for x in range(year, end_year+1): 
    if x % 4 == 0 and (x % 100 != 0 or x % 400 == 0): 
      counter +=1 
      temp.append(x) 
print('the years are {}'.format(temp)) 
print('there are {} counts'.format(counter)) 

「年は[]です」、あなたは

print('the years are ', ' '.join(map(str, temp))) 
+0

はどうもありがとうございます!私はそれがFRUITFULはなかった実現する最初の試みで、3時間を過ごしました。第二の試みは、FINALLY IMは – user2947950

1

であなたが間のうるう年の数をカウントするcalendar.isleapを使用できることを行うことができます与えられた年。

from calendar import isleap 
year = int(raw_input("Input year: ")) 
endyear = int(raw_input("Input end year:")) 
print "The number of leap years are " 
counter = 0 
years = [] 
for x in range(year,endyear+1): 
    if isleap(x): 
     counter +=1 
     print x 
     print counter 
+0

ありがとう:) DONE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! – user2947950

0

あなたは短い方法でそれを行うことができます:私はそれを更新しました

from calendar import isleap 
years = [ str(x) for x in range(year,endyear+1) if isleap(x)] 

print "the years are ", ''.join(elem + " " for elem in years) 
print "there are ", len(years), "counts" 
+0

ありがとうございます!きちんとした優雅なソリューション:D – user2947950

関連する問題