MirMirOrKirmasa
@MirMirOrKirmasa

Что в коде я написал не так?

import datetime
from datetime import datetime

FIO = input("Ваша Фамилия Имя и Отчество: \n")
print("Здравствуйте,",FIO)

AgePol = int(input("Введите свой возраст: \n"))
if AgePol < 0:
    AgePol = AgePol * -1
else:
    AgePol = AgePol

TY = datetime.now().year

AgePC = 1985
AgePC1 = TY - AgePC

Res = int(AgePC1 - AgePol)
Res_2 = int(Res * -1)

print("TY=",TY)
print("AgePC1=",AgePC1)
print("Res=",Res)
print("Res_2=",Res_2)

if Res>0:
    if AgePol == 22 or AgePol == 23 or AgePol == 24 or AgePol == 25:
        print('Вы старше меня на', Res, "лет.")
    else:
        if Res%10 == 0:
            print("Мы ровесники)))")
        elif Res%10 == 1:
            print('Вы младше меня на', Res,"год.")
        elif Res%10 >1<5:
            print('Вы младше меня на', Res,"года")
        elif Res%10 >=5<=20:
            print('Вы младше меня на', Res,'лет.')

elif Res < 0:
    if Res_2 == 0:
        print("Вы страше меня на",Res_2,"год.")
    elif 1 < Res_2%10 <= 4:
        print("Вы старше меня на", Res_2, "года.")
    elif 5 < Res_2%10 <= 20:
        print("Вы старше меня на", Res_2, "лет.")


Мой код, по идее, должен выводить разницу возраста пк и пользователя. И вроде всё работает, но если число которое мы вводим (AgePol) оканчивается на 6 (Код тупо заканчиваектся) или на 1 в трёх или более значном числе (Так же как и с 6), то на выходе результат неверный. Что я написал неправильно?
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Я бы посоветовал не пытаться разобраться, тут уже каша какая-то, начиная от умножения на -1, заканчивая блоками if. Начните заново, назовите переменные так, чтобы было понятно, что лежит в них. Мне кажется, вы не понимаете что такое Res и что такое Res_2 и зачем они нужны. Задача очень простая, вам нужно вычесть одно число из другого и все.

решение
user_age = int(input('Введите свой возраст: '))

current_year = datetime.now().year

pc_age = current_year - 1985

if user_age > pc_age:
    print('Вы старше на', user_age-pc_age, 'лет')
elif user_age == pc_age:
    print('Мы ровесники')
else:
    print('Вы младше на', pc_age-user_age, 'лет')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы