Опубликован: 20.09.2024 83
Условие: напишите программу, которая будет определять знак зодиака по числу и месяцу рождения.
Программа должна проверять корректность вводимых данных.
Решение:
print("Программа по определению знака зодиака по числу и месяцу рождения")
month_name = ['январь', 'февраль', 'март', 'апрель', 'май', 'июнь',
'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь']
# Функция по определению знака зодиака
def get_zodiac_sign(day, month):
if (month == "март" and 21 <= day <= 31) or (month == "апрель" and day <= 19):
sign = "Овен"
elif (month == "апрель" and 20 <= day <= 30) or (month == "май" and day <= 20):
sign = "Телец"
elif (month == "май" and 21 <= day <= 31) or (month == "июнь" and day <= 21):
sign = "Близнецы"
elif (month == "июнь" and 22 <= day <= 30) or (month == "июль" and day <= 22):
sign = "Рак"
elif (month == "июль" and 23 <= day <= 31) or (month == "август" and day <= 22):
sign = "Лев"
elif (month == "август" and 23 <= day <= 31) or (month == "сентябрь" and day <= 22):
sign = "Дева"
elif (month == "сентябрь" and 23 <= day <= 30) or (month == "октябрь" and day <= 23):
sign = "Весы"
elif (month == "октябрь" and 24 <= day <= 31) or (month == "ноябрь" and day <= 22):
sign = "Скорпион"
elif (month == "ноябрь" and 23 <= day <= 30) or (month == "декабрь" and day <= 21):
sign = "Стрелец"
elif (month == "декабрь" and 22 <= day <= 31) or (month == "январь" and day <= 19):
sign = "Козерог"
elif (month == "январь" and 20 <= day <= 31) or (month == "февраль" and day <= 18):
sign = "Водолей"
elif (month == "февраль" and 19 <= day <= 29) or (month == "март" and day <= 20):
sign = "Рыбы"
else:
sign = "Не удалось определить знак зодиака"
return sign
# Ввод данных пользователем
while True:
day = int(input("Введите число дня рождения (ДД): "))
month = input("Введите месяц рождения (январь, февраль ...): ").lower()
if 1 <= day <= 31 and month in month_name:
break
else:
print('Ошибка ввода. Введите корректные данные !')
print(f"Ваш знак зодиака: {get_zodiac_sign(day, month)}")
# Введите число дня рождения (ДД): 30
# Введите месяц рождения (январь, февраль ...): июнь
# Ваш знак зодиака: Рак
Задача: Решение квадратного уравнения
Задача: Тренажер таблицы умножения
Задача: Наибольший числовой палиндром
Задача: Разложение числа на простые множители
Комментариев нет.