Почему в цикле if-elif выполняется только первый блок

n = input()
if n.isupper:
    print(n.lower())
elif n.islower:
    print(n.upper())
else:
    print("Wrong input")

При вводе буквы в нижнем регистре, должна вывестись буква в верхнем. И наоборот

Но при вводе у меня срабатывает только блок if. Поскольку при вводе "a" мне выводит "a". При вводе "A" выдает "a"

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

В чем проблема подскажите пожалуйста


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

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

isupper и islower это функции, так же как lower() и upper(), нужно сделать так:

n = input()
if n.isupper():
    print(n.lower())
elif n.islower():
    print(n.upper())
else:
    print("Wrong input")
→ Ссылка