2017-08-23 8 views
0

私はカレンダーをいくつかの月と年で出力するコードを作成しようとしています。 このような私のコードを見て:TypeError:int()引数は、文字列、バイトのようなオブジェクトまたは数値で、 'NoneType'でなければなりません。

#!/usr/bin/python3 
"""import calender""" 

import calendar 
import datetime 

""" begin function """ 


def get_the_first_day_of_the_week(month, year): 
    day_of_week = datetime.date(year, month, 1).weekday() 
    return 


def print_out_calender(months, years): 
    this_month = int(months) 
    this_year = int(years) 
    new = get_the_first_day_of_the_week(this_month, this_year) 
    new = int(new) 
    calendar.setfirstweekday(new) 
    calendar.monthcalendar(this_month, this_year) 
    return 


print_out_calender(12, 2017) 

は、私はそれが日付のマトリックスをプリントアウトすることを期待しかし、私はこのようなエラーました:私は新しいです

File "./practice12.py", line 25, in <module> 
    print_out_calender(12, 2017) 
    File "./practice12.py", line 19, in print_out_calender 
    new = int(new) 
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType' 

: トレースバック(最新の呼び出しの最後に) Pythonとコーディングに誰かが私になぜ教えることができますか?

+1

'get_the_first_day_of_the_week'の中で' return day_of_week'を意味しましたか? –

答えて

2
new = get_the_first_day_of_the_week(this_month, this_year) 

newからget_the_first_day_of_the_week()の戻り値を代入します。

ただし、get_the_first_day_of_the_week()は何も返しません。つまりNoneです。

何か(おそらくday_of_the_week)を返すように関数を変更してください。 get_the_first_day_of_the_week

0

コード内にnewNoneであるためです。 intは型引数を取ることができません。

0

戻りDAY_OF_WEEKあなたはget_the_first_day_of_the_week機能でNoneを返すされていません。 day_of_weekを返すか、day_of_weekをグローバル変数にします。

0

から

関連する問題