Найти - Пользователи
Полная версия: Проблемы с if/else/elif
Начало » Центр помощи » Проблемы с if/else/elif
1
Megiya
Тут такая проблема, тут три функции, первая - високосный ли год рождения. Вторая - сколько ты живёшь. Третья - твоя возрастная группа. И именно с третьей функцией проблема. Она не выводиться. (Третья функция внизу перед “else : print(”ERROR! ALERT!!!"))
import datetime
birth_day = int(input("День народження: "))
birth_month = int(input("Місяць народження: "))
birth_year = int(input("Рік народження: "))
day = int(datetime.date.today().day)
month = int(datetime.date.today().month)
year = int(datetime.date.today().year)
function = int(input("Яку функцію ви вибираєте? " ))
if function==1 :
if (month >= birth_month):
age = year - birth_year
else:
age = (year - birth_year) - 1

if (function >= 0) and (function < 4) and (age >= 0) and (age < 130):
if function == 1:
if birth_year % 4 != 0:
print("It is a common year (365 days)")
else:
print("It is a leap year (366 days)")

elif function == 2 :
if (month >= birth_month):
age = year - birth_year
else:
age = (year - birth_year) - 1
a = age
b = abs(month - birth_month)
c = abs(day - birth_day)
d = ((age * 8760) + ((month-1) * 720) + ((day-1) * 24))
e = ((age * 525600) + ((month-1) * 43200) + ((day-1) * 1440))
f = ((age * 31536000) + ((month-1) * 2592000) + ((day-1) * 86400))
print(f"Your age: {a} years, {b} months, {c} days, or {d} hours, or {e} minutes, or {f} seconds")
elif function == 3 :
if (month >= birth_month):
age = year - birth_year
else:
age = (year - birth_year) - 1
if (age < 1):
group=("Your group is : Baby")
print(f"{group}")
elif (age >= 1) and (3 < age):
group=("Your group is : Toddler")
print(f"{group}")
elif (age >= 3) and (5 < age):
group=("Your group is : Preschool")
print(f"{group}")
elif (age >= 5) and (12 < age):
group=("Your group is : Gradeschooler")
print(f"{group}")
elif (age >= 12) and (19 < age):
group=("Your group is : Teen")
print(f"{group}")
elif (age >= 19):
group=("Your group is : Adult")
print(f"{group}")
else :
print("ERROR! ALERT!!!")
Romissevd
Опять ты с отступами накосорезил. Почитай литературу.
Смотри как должно быть по твоей логике. В первом блоке if/else ты определяешь значение переменной age
Следующими блоком у тебя идет уже новый блок if/elif, уже по проверке этого значения.
Megiya
Romissevd
Опять ты с отступами накосорезил. Почитай литературу. Смотри как должно быть по твоей логике. В первом блоке if/else ты определяешь значение переменной ageСледующими блоком у тебя идет уже новый блок if/elif, уже по проверке этого значения.
Вроде-бы поправил, но теперь появилась другая проблема. При вводе любой из функций, третья тоже выводиться. Есть команда которая стопает определённую часть кода?
Romissevd
Megiya
Вроде-бы поправил, но теперь появилась другая проблема. При вводе любой из функций, третья тоже выводиться.
Значит неправильно поправил.
Megiya
Есть команда которая стопает определённую часть кода?
Есть, но оно тебе не надо. Расставь правильно отступы.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB