Как вы могли бы подсчитать количество високосных лет и вычислить их среднее значение, используя следующий скрипт Python?

start = int(input("Enter start year: "))
end = int(input("Enter end year: "))

if start <= end:
    leap_years = [str(x + start) for x in range(end-start) if x % 4 == 0 and x % 100 != 0]
    leap_years[-1] += "."
    print(f"Here is a list of leap years between {start} and {end}:\n{(', '.join(leap_years))}")

from statistics import mean
leap_years = [start + x for x in range(end-start) if x % 4 == 0 and x % 100 != 0]
avg_leap_year = mean(leap_years)

print(len(leap_years))
print(avg_leap_year)

Пожалуйста, дайте мне знать, можно ли улучшить этот сценарий, чтобы он был менее избыточным.

Спасибо!

-2
user13380066 23 Апр 2020 в 13:32

1 ответ

Вот простое решение:

from statistics import mean
leap_years = [start + x for x in range(end-start) if x % 4 == 0 and x % 100 != 0]
avg_leap_year = mean(leap_years)
1
Riccardo Bucco 23 Апр 2020 в 13:44
Спасибо. Я включил ваше решение в исходный вопрос. Пожалуйста, дайте мне знать, если сценарий может быть менее избыточным, чтобы удалить ненужный сценарий.
 – 
user13380066
23 Апр 2020 в 14:13