プログラミング言語、Pythonを使用して、値(西暦)を入力したときに、入力した西暦がうるう年かどうかを判定するプログラムを作っていますが、エラー内容と解決方法が分かりません。
ざっくりとした質問で申し訳ございませんが、ご教授頂けたら幸いです。
宜しくお願い致します。
[ソース]
!#-*- coding:utf-8 -*- def is_leapyear(year): # 4で割り切れるときはうるう年 if year % 4 == 0: # 100で割り切れて、400で割り切れない場合はうるう年ではない if year % 100 == 0 and year % 400 != 0: return False # 100で割り切れて、400で割り切れる場合はうるう年 elif year % 100 == 0 and year % 400 == 0: return True # 4で割り切れて、100で割り切れない場合はうるう年 else: return True else: return False def main(): # 入力した値をいれる x = input('x年のxの値を入力 x= ') for year in x: if is_leapyear(year): print(str(year) + "年はうるう年です。") else: print(str(year) + "年はうるう年ではありません。") i = 1 leapYear = 0 if __name__ == "__main__": main()
[入力した値]
x年のxの値を入力 x= 2000
【実行結果】
TypeError Traceback (most recent call last)
<ipython-input-1-5e7f0e118bcd> in <module>()
52
53 if name == "main":
---> 54 main()
<ipython-input-1-5e7f0e118bcd> in main()
24
25 for year in x:
---> 26 if is_leapyear(year):
27 print(str(year) + "年はうるう年です。")
28 else:
<ipython-input-1-5e7f0e118bcd> in is_leapyear(year)
4
5 # 4で割り切れるときはうるう年
----> 6 if year % 4 == 0:
7 # 100で割り切れて、400で割り切れない場合はうるう年ではない
8 if year % 100 == 0 and year % 400 != 0:
TypeError: not all arguments converted during string formatting
回答3件
あなたの回答
tips
プレビュー