Для l oop - ввод високосного года - PullRequest
0 голосов
/ 12 января 2020

Может кто-нибудь, пожалуйста, помогите мне с текущей проблемой, у меня ... Это упражнение для високосного года.

● Напишите программу для ввода года и количества лет.

● Затем определите и отобразите, какие из этих лет были или будут високосными.

Пример: С какого года ты хочешь начать? - 1994

Сколько лет вы хотите проверить? - 8

1994 - не високосный год
1995 - не високосный год
1996 - високосный год
1997 - не високосный год
1998 - нет високосный год
1999 год не является високосным Будучи високосным годом или нет .... вот код, который у меня есть:

year = int(input("Please enter the year you would like to start checking leap years from."))
total_years = int(input("Please enter over how many years you would like to check."))
leap_year= 0

if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):   
   leap_year = ("this is a leap year")

else:
   leap_year = ("this is not a leap year")

for a in range (0,total_years):
    print(year + a, leap_year)

Любая помощь будет принята с благодарностью. Спасибо.

1 Ответ

0 голосов
/ 12 января 2020

Блок if-else, который проверяет високосный год, должен находиться внутри для l oop. В настоящее время он находится за пределами для l oop, поэтому он проверяет первый введенный год, а для l oop просто печатает результат за первый год total_years число раз.

Итак, чтобы исправить код, попробуйте что-то вроде этого:

year = int(input("Please enter the year you would like to start checking leap years from."))
total_years = int(input("Please enter over how many years you would like to check."))

def is_leap_year(year):
    if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
       return True
    else:
       return False

for a in range (0, total_years):
    if is_leap_year(year+a):
        print("this is a leap year")
    else:
        print("this is not a leap year")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...