#исправить ошибки в коде

import datetime
print("-----------------------------------------")
print("Нажмите 1, если хотите узнать в какой год Вы были рождены(высокостный или
нет?)")
print("Нажмите 2, если хотите узнать к какой возрастной группе вы принадлежите")
print("Нажмите 3, если хотите узнать свой возраст ")
print("-----------------------------------------")
b_day=int(input("Введите день своего рождения хх: "))
b_month=int(input("Введите месяц своего рождения хх: "))
b_year=int(input("Введите год своего рождения хххх: "))
day=int(datetime.date.today().day)
month=int(datetime.date.today().month)
year=int(datetime.date.today().year)
number=int(input("Выберите, что хотите узнать: "))
if month>b_month:
age=year-b_year
else:
age=(year-b_year)-1
if (number>0) and (number<4) and (age>=0) and (age<130):
if number==1:
if b_year%4!=0:
print("365 дней в году")
else:
print("Высокостный год - 366 дней в году")
elif number == 2:
print("Your group is ", end="")
if age < 1:
print("Младенец")
elif (age >= 1) and (age < 3):
print("Ребенок")
elif (age >= 3) and (age < 5):
print("Ребенок дошкольного возраста")
elif (age >= 5) and (age < 12):
print("Первоклассник")
elif (age >= 12) and (age < 19):
print("Подросток")
elif age >= 19:
print("Взрослый")
elif number == 3:
print("Your age: {} year, {} month,{} day" .format(age,abs(month-birth_month+12), abs(daybirth_day)))
seconds = ((age * 31536000) + ((month-1) *2592000) + ((day-1) * 86400))
print("Your age is {} seconds".format(seconds))
else:
print("Error! Try again.")


bavidprosto: 1—4 клас. Це завдання 7 чи взагалі 8 класу
bavidprosto: Ще й за 5 балів
BlacKot: никто за такое не возьмётся, по хорошему нужно приложить хотя бы в тхт файле, отформатированным и добавить побольше баллов
00sovok000negra00: вы не правы - это задания сейчас дают в младшей академии шага, детям 7-8 лет. в 7-8 классе школы будут знать как минимум: html, css, scss, основы js, python, основы c++, ну и еще по мелочам..

Ответы

Ответ дал: 00sovok000negra00
1

Объяснение: Не знаю какие ошибки именно нужно было исправить, ты не указал, но мне было скучно, так что..

Я немного изменила код, мне не понятно почему ты, например, вместо print(f"Your age: {sec} seconds."), писал целую строчку format'а..

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

Очень много вводных данных int  и нет проверки на тип данных, так что если пользователь введёт букву, программа прекратит работу. Если хочешь этого избежать, можешь поискать в интернете try except valueError.

Также в этих же int  нет проверки на максимальное и минимальное число / месяц.. Пользователь таким способом может указать, что родился в минус 50-ом месяце, 152-го числа..

Также непонятно зачем ты взял все условия в скобки, такие как if (number>0) and (number<4)... возможно у нас разные версии python, но, насколько я знаю, даже в онлайн компиляторах всё отлично без них работает, это лишние символы.

Python Code:

import datetime

day=int(datetime.date.today().day)

month=int(datetime.date.today().month)

year=int(datetime.date.today().year)

b_day = int(input("Введите день своего рождения xx: "))

b_month = int(input("Введите месяц своего рождения xx: "))

b_year = int(input("Введите год своего рождения xxxx: "))

print("-----------------------------------------")

print("Напишите 1, если хотите узнать в високосный год вы были рождены или нет.")

print("Напишите 2, если хотите узнать к какой возрастной группе вы принадлежите.")

print("Напишите 3, если хотите узнать свой возраст.")

print("-----------------------------------------")

number = int(input("Выберите что хотите узнать: "))

if month > b_month:

   age = year-b_year

else:

   age = (year-b_year)-1

if number > 0 and number < 4:

   if number==1:

       if b_year%4!=0:

           print("Вы были рождены с 365 дней в году")

       else:

           print("Вы были рождены в високосный год - 366 дней в году")

   elif number == 2:

       print("Your group is ", end="")

       if age < 1:

           print("Младенец")

       elif age >= 1 and age < 3:

           print("Ребенок")

       elif age >= 3 and age < 5:

           print("Ребенок дошкольного возраста")

       elif age >= 5 and age < 12:

           print("Первоклассник")

       elif age >= 12 and age < 19:

           print("Подросток")

       elif age >= 19 and age < 130:

           print("Взрослый")

       else:

           print('Бессмертный')

   elif number == 3:

       print(f"Your age: {age} year, {abs(month - b_month + 12)} month,{abs(b_day)} day")

       seconds = ((age * 31536000) + ((month - 1) * 2592000) + ((day - 1) * 86400))

       print(f"Your age is {seconds} seconds")

else:

   print("Error! Try again.")

Приложения:

00sovok000negra00: Прошу прощения, если тебе надо было как раз исправить ошибки с типом данных. В следующий раз советую давать код в текстовом файле и уточнять что именно надо сделать..
Вас заинтересует