クラスの練習として、いくつかの関数を書いてから、もう一方に統合する必要があります。これまでの2つの関数を書いています。その整数がうるう年かどうか、そして整数y(年)と整数n(月)をとり、その月に何日いるかを伝える別のものかどうかを教えてください。私がしたいのは、最初の関数を2番目の関数に統合することで、うるう年に2月を入力すると、29日間ということになります。1つの関数を別の関数に統合する方法
これまでに書いたコードは次のとおりです。
def isLeapYear(y):
if y % 400 == 0:
return True
if y % 100 == 0:
return False
if y % 4 == 0:
return True
else:
return False
と
def daysIn (y,n):
import sys
d = int(0)
months = ["Notuary", "January", "Febuary", "March", "April", "May", "June", "July", "August", "September",
"October", "November", "December"]
if n == 0:
print("This is a fake month")
sys.exit()
if n == 1 or n == 3 or n == 5 or n == 7 or n == 8 or n == 10 or n == 12:
d = 31
if n == 2 and (y % 4 != 0):
d = 28
if n == 2 and (y % 4 == 0):
print("Febuary has 29 days this year as it is a leap year")
sys.exit()
if n == 4 or n == 6 or n == 9 or n == 11:
d = 30
print(months[n], "has", d, "days in it")
任意の助けいただければ幸いです!
FWIW、あなたの 'daysIn'機能は、あなたの月の長さのテストでセットまたはリストを使用して、より多くのコンパクト化を図ることができ、私はあなたがまだそれらについて学んできない可能性がありますね。しかし、関数の先頭の近くにある 'd = int(0)'はちょっと意味がありません。ゼロを整数に変換する必要はありません。これは整数であるため、 'd = 0'だけできます。また、関数内に 'import'文を置くことは珍しいことです。あなたのスクリプトの一番上に置いてください –