input () связывает один ответ с другим - PullRequest
0 голосов
/ 25 февраля 2019

Когда я набрал A для ответа на следующий код Python

def Choice():
    d1 = input(*question*)
    if d1 == 'A':
        print(*response*)

    if d1 == 'B':
        print(*response*)

    else:
        print(*response*)
        Choice()

, я получил ответ для A, но я также получил ответ для оператора 'else:'.Однако, когда я набрал B для ответа, я получил ответ без ответа на оператор «else:».

Кто-нибудь знает, что происходит?

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

В вашем коде вы используете операторы if else, остальное связано с большинством недавним оператором if.Итак, что происходит в вашем коде: всякий раз, когда вы вводите «A» в качестве ввода, выполняется первый оператор if, затем он проверяет другой оператор if, которому соответствует условие false , а соответствующий else равенВыполнено.

Но это не относится к входу 'B'.если вы напишете еще один оператор после первого if, произойдет тот же случай, так как после if нет оператора else, он переходит к другому if утверждению, которое остается верным.

Для противодействияон может использовать концепцию if elif else.

Вы можете следить за тем, что сделал Нихал.

0 голосов
/ 25 февраля 2019

вы должны использовать elif

def Choice():
    d1 = input(*question*)
    if d1 == 'A':
        print(*response*)

    elif d1 == 'B':
        print(*response*)

    else:
        print(*response*)
        Choice()

что произойдет, если ваш код будет, если d1 == 'A', то он перейдет к следующему, если затем d1 !='B', так что он перейдет к другому и напечатает инструкцию для 'Условие A и других.

если вы используете elif, если d1 не 'A' или 'B', то только оно перейдет в условие else

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...