Почему когда в инпут ввожу число программа работает, но стоит сделать проверку на строку к примеру "м" или "ж" Выполняется строго условие else?

Где 1 это мужчина, а 2 женщина Стоит мне поставить вместо 1 букву "м", а вместо 2 - " ж" всегда выполняется else

    print('Добро подаловать в программу для высчитывания идеального веса!')


    w = input('Укажиие ваш пол буковй 1/2?:  ' )
    if w == '1':
        s = input('Какой ваш рост? ')
        x = (4*int(s)/2.54-128)*0.453
        print('Ваш идеальный вес: ' +str(x))
    elif w == '2':
        s = input('Какой ваш рост? ')
        x = (3.5*int(s)/2.54-108)*0.453
        print('Ваш идеальный вес: ' +str(x))

    else:
        print('Вы ввели неверное значение')

Вот код который не работает, всё тоже самое только меня цифры на букву, проверяю только нижний регистр пока

   w = input('Укажиие ваш пол буковй м/ж?:  ' )
   if w == 'м':
        s = input('Какой ваш рост? ')
        x = (4*int(s)/2.54-128)*0.453
        print('Ваш идеальный вес: ' +str(x))

Ответы (2 шт):

Автор решения: Corrygan

Вот ваш код, но с изменёнными значениями на М/Ж. Не знаю что у вас не работало, я поменял символы только в строках проверок.

print('Добро подаловать в программу для высчитывания идеального веса!')


w = input('Укажиие ваш пол буковй М/Ж?:  ' )
if w == 'М':
    s = input('Какой ваш рост? ')
    x = (4*int(s)/2.54-128)*0.453
    print('Ваш идеальный вес: ' +str(x))
elif w == 'Ж':
    s = input('Какой ваш рост? ')
    x = (3.5*int(s)/2.54-108)*0.453
    print('Ваш идеальный вес: ' +str(x))
else:
    print('Вы ввели неверное значение')
→ Ссылка
Автор решения: idparker

Код написан нормально, если проблема в том, что нужно написать в верхнем регистре, или добавить английские символы, то можно добавить словари с этими буквами перед твоим кодом.

print('Добро пожаловать в программу для высчитывания идеального веса!')


ms = {'m', 'M', 'м', 'М'}   # буквы М во всех регистрах
jis = {'ж', 'Ж'}   # буквы Ж во всех регистрах


w = input('Укажите ваш пол буквой м/ж?: ')
if w in ms:   # Проверяет если буква М в переменной w
    s = input('Какой ваш рост? ')
    x = (4 * int(s) / 2.54 - 128) * 0.453
    print('Ваш идеальный вес: ' + str(x))

elif w in jis:   # Проверяет если буква Ж в переменной w
    s = input('Какой ваш рост? ')
    x = (3.5 * int(s) / 2.54 - 108) * 0.453
    print('Ваш идеальный вес: ' + str(x))

else:
    print('Вы ввели неверное значение')```
→ Ссылка