День недели с использованием сравнения Целлера – Python 3Python

Программы на Python
Ответить
Anonymous
 День недели с использованием сравнения Целлера – Python 3

Сообщение Anonymous »

Я только начал изучать информатику и новичок в Python 3 и программировании в целом. Наше первое задание — вычислить день недели с помощью сравнения Целлера, и у меня есть несколько вопросов относительно написанного мной кода.

Код: Выделить всё

year = int(input("Year: "))
while not int(year) in range(1583, 10000):
year = input("Out of allowed range 1583 - 9999. Please enter a valid
number: ")

month = int(input("Month: "))
while not int(month) in range(1, 13):
month = input("Out of allowed range 1 - 12. Please enter a valid number: ")

if month == 1 or month == 2:
month += 12
year -= 1

day = int(input("Day: "))
while not int(day) in range(1, 32):
day = input("Out of allowed range 1 - 31. Please enter a valid
number: ")

result = ( day + 13 * (month+1) // 5 + year + year // 4
- year// 100 + year // 400 ) % 7

weekday = {0: "Saturday",1: "Sunday", 2: "Monday",3: "Tuesday",4:
"Wednesday",5: "Thursday",6: "Friday"}

print("The day is " + weekday[int(result)] + ".")
Во-первых, я должен убедиться, что диапазон дней связан с правильными месяцами. Например, если ввод месяца равен 1, 3, 5, 7, 8, 10 или 12, интервал дней должен быть от 1 до 31. Если ввод месяца равен 4, 6, 9 или 11, интервал дней должен быть от 1 до 30. И, наконец, я также должен принять во внимание високосные годы. И я не могу понять, как написать эти требования.

Кроме того, любая критика приветствуется. Я знаю, что это далеко не прилично, поэтому, пожалуйста, дайте мне знать, что я мог бы сделать лучше!

Подробнее здесь: https://stackoverflow.com/questions/460 ... e-python-3
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»