Python: TypeError: неподдерживаемые типы операндов для%: 'NoneType' и 'int' - PullRequest
0 голосов
/ 30 октября 2018
def IsYearLeap(yr):
    if yr % 4 == 0 and (yr % 100 !=0 or yr % 400 == 0):
        return True
    return False

yr = print(int(input("The year is:")))
print(IsYearLeap(yr))

Почему эта простая функция выдает ошибку? Как я могу это исправить?

1 Ответ

0 голосов
/ 30 октября 2018

print возвращает None. Когда ты пишешь

yr = print(int(input("The year is:")))

Число присваивается print, оно печатается, затем print возвращает None; и это то, что присваивается yr (проверьте значение yr).

Просто переместите вызов print, чтобы его возвращаемое значение не было назначено ни для чего.

yr = int(input("The year is:"))
print(yr)
print(IsYearLeap(yr))
...