2017-08-16 14 views
-1

私はあなたが生まれた曜日を決定する関数をコーディングしようとしています。'int'オブジェクトは何をしていても反復できません

def days_in_year(x): 
    y = 0 
    n = x-1 
    for years in n: 
     if years % 4 == 0: 
      y = y + 3 
     elif y % 4 != 0: 
      y = y + 1 
    return y 

これを返す「TypeError例外: 『私はこのようになります作成しようとしている機能の一つint型に関係なく、私は何をすべきか』オブジェクトは、反復可能ではないではありません」。どんな助けもありがとう。あなたが

for years in range(n): 

範囲(にforループを変更する必要が

+5

'年間の範囲(n): – Stael

+0

サンプル入力と希望する出力を入力してください。 –

+1

'calendar.is_leap'を書き直そうとしているように、組み込みの' calendar'モジュールと 'datetime'モジュールを見ると時間を節約できます(おそらくは不満です)。 'date_in_year = 366 calendar.is_leap(x)else 365'とし、生年月日を取得するには 'format(datetime(2002、9、3)、'%A ')' - 'Tuesday'のすべてが –

答えて

0

)は、一般にループので反復処理するために使用される番号のリストを生成します。

0

私のコメントに拡大する - forあなたがそこに使っているループfor years in n:nのすべての要素を繰り返します。

nn = x-1と定義しているため、要素がないため反復できません。

range(5) 
[0, 1, 2, 3, 4] 

あなたがして反復処理することができます:あなたはrange(n)

などを使用して、リストを生成する必要があります。希望が役立ちます。

関連する問題