Как исправить оператор if в моей функции def - PullRequest
0 голосов
/ 09 мая 2019

Я пишу код.

if оператор в функции def.

Я не знаю, почему ответ всегда "да"

предположим, что мы набираем "n"

a = input('''Yes or No, Type [Y/N]''')

def test():
   global a
   if a == 'Y' or 'y':
      print("yes")
   elif a == 'N' or 'n':
    print("no")
   else:
    print("Not Yes and Not No")

test()

Ответы [ 3 ]

1 голос
/ 09 мая 2019

Вы можете сделать это намного проще, не вводя регистр символов

a = input('Yes or No Type [Y/N]')

def test():

    global a

    if a.lower() == 'y': #this will convert the string into lower case

        print("yes")

    elif a.lower() == 'n':

        print("no")

    else:

        print("Not Yes and Not No")

test()
0 голосов
/ 09 мая 2019
yes = ['y', 'yes']
no = ['n', 'no']

if answer.lower() in yes:
    print("yes")

if answer.lower() in no:
    print("no")
0 голосов
/ 09 мая 2019

Попробуйте, чтобы сделать его более устойчивым:

yes = ['Y' , 'y' , 'yes' , 'YES', 'Yes']
no = ['N' , 'n' , 'NO', 'No', 'no']

if answer in yes:
    print("yes")

if answer in no:
    print("no")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...