n = input("Введи свое имя:")
pol = input("Укажи свой пол:")
age = int(input("Введи свой возраст:"))
#Муж
if pol == "Мужской":
age1 == int(input("Введи свой возраст:"))
if age1 < 55:
print("Твой возраст является пенсионным.")
elif:
print("Твой возраст не является пенсионным.")
#Жен
else pol == "Женский":
age = int(input("Введи свой возраст:"))
if age < 53:
print("Твой возраст является пенсионным.")
elif:
print("Твой возраст не является пенсионным.")
что тут не так?
можно создать функцию, если да, то как?
Python
Помогите пожалуйста с кодом. Python
Твой код ДВА раза запрашивает ввод возраста. Ты УЖЕ узнал возраст - сразу после пола. Так ЗАЧЕМ ты ещё раз спрашиваешь возраст внутри if?
Без нормально опубликованного - со всеми отступами - кода (специально для этого кнопочку <> в редактор добавили; но нет, в упор её игнорируют) что-то сказать о других ошибках невозможно.
Без нормально опубликованного - со всеми отступами - кода (специально для этого кнопочку <> в редактор добавили; но нет, в упор её игнорируют) что-то сказать о других ошибках невозможно.
С контролем ввода:
name = input('Введи свое имя: ')
while not (gender := input('Укажи свой пол: ').capitalize()) in (genders := ('Мужской', 'Женский')):
print('Неправильно указан пол.')
while True:
if (a := input('Введи свой возраст: ')).isnumeric() and (age := int(a)) > 0:
break
else:
print('Неправильно указан возраст.')
part = ('', 'не ')[(gender == genders[0] and age < 55) or (gender == genders[1] and age < 53)]
print(f'Твой возраст {part}является пенсионным.')
Через функцию: name = input('Введи свое имя: ')
while not (gender := input('Укажи свой пол: ').capitalize()) in (genders := ('Мужской', 'Женский')):
print('Неправильно указан пол.')
while True:
if (a := input('Введи свой возраст: ')).isnumeric() and (age := int(a)) > 0:
break
else:
print('Неправильно указан возраст.')
def is_pensioner(gender, age):
return age < (55, 53)[genders.index(gender)]
print(f'Твой возраст {("", "не ")[is_pensioner(gender, age)]}является пенсионным.')
Немного кривовато выглядит из-за использования `genders` "извне" , дублировать кортеж не хотелось.В вашем коде есть несколько ошибок:
Вы используете age1 вместо age, что вызывает ошибку.
Вы используете elif без условия, что также вызывает ошибку.
Вы дублируете вызов для ввода возраста, когда определяете пол.
Для решения этих проблем можете исправить ваш код следующим образом:
Вы используете age1 вместо age, что вызывает ошибку.
Вы используете elif без условия, что также вызывает ошибку.
Вы дублируете вызов для ввода возраста, когда определяете пол.
Для решения этих проблем можете исправить ваш код следующим образом:
def is_pensioner(gender, age):
if gender == "Мужской":
pension_age = 55
elif gender == "Женский":
pension_age = 53
else:
return "Неизвестный пол"
return "Твой возраст является пенсионным." if age < pension_age else "Твой возраст не является пенсионным."
n = input("Введи свое имя:")
pol = input("Укажи свой пол:")
age = int(input("Введи свой возраст:"))
print(is_pensioner(pol, age))
Александр Шинкарюк
у вас тоже ошибка, при вводе женского возраста меньше 53 пишет что возраст пенсионный, а если ввести больше 53 - то не пенсионный. Но все равно спасибо за помощь.
Похожие вопросы
- Помогите, пожалуйста, решить задачу Python
- Python. Помогите пожалуйста с кодом
- Помогите пожалуйста задачей по Python.
- Помогите, пожалуйста, с задачей Python , Яндекс практикум.
- Помогите пожалуйста с задачей python
- Помогите, пожалуйста с делителями python
- Помогите пожалуйста переделать код на Питоне
- Помогите пожалуйста написать код
- Добрый день, помогите, пожалуйста, написать код к задаче на питоне
- Помогите написать программу на Python, моя версия кода на скрине, вроде всё работает, но автопроверка не проходит.