Используйте функцию календаря для високосного года - PullRequest
0 голосов
/ 08 октября 2019

Я пытаюсь использовать функцию импорта для вычисления моего високосного года, однако я получаю сообщения об ошибках для своего кода:

import calendar
year=input("Enter a year: ")
check=calendar.isleap(year)
if check == True:
    print("In",year,"February has 29 days.")
else:
    print("In",year,"February has 28 days.")

Буду признателен, если кто-нибудь может указать на мою ошибку здесь!

Я также попробовал метод

return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)

, используя операторы if-else, но, похоже, также наткнулся на контрольно-пропускной пункт, используя этот метод ... Мойкод для этого метода показан ниже:

print ('hi')
input_year= input("Please enter a year: ")
if (input_year) % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
    print ("Yes sir")
else:
    print ("no sir")

1 Ответ

0 голосов
/ 08 октября 2019

Python 2 автоматически попытается преобразовать строку , введенную пользователем в число, и вернет int из функции input, если сможет. Но Python 3 будет более последовательным и всегда будет возвращать строку , даже если символы, введенные пользователем, логически понимаются как число.

Следовательно, сделайте следующее:

import calendar
year=input("Enter a year: ")
year = int(year)
check=calendar.isleap(year)
if check:
    print("In",year,"February has 29 days.")
else:
    print("In",year,"February has 28 days.")
...