Сообщение об ошибке появляется, даже если ввод правильный. питон - PullRequest
2 голосов
/ 02 октября 2019

Я пытаюсь разрешить определенный ввод с этим кодом.

Sdepth = int(input("enter depth of slab: "))
if Sdepth != 45 or Sdepth != 38 :
    print("depth can only be 45 or 38")
    Sdepth = int(input("enter depth of slab: "))

Если я ввожу 45 или 38 print("depth can only be 45 or 38"), то выводится, когда этого не следует.

Ответы [ 2 ]

2 голосов
/ 02 октября 2019

Вам нужно and, а не or в этом случае. Например, если вы введете 45, Sdepth != 38 будет по-прежнему True, то есть, если целое условие будет True. Или вы можете использовать if Sdepth not in (45, 38):

1 голос
/ 02 октября 2019

Sdepth != 45 or Sdepth != 38 оценивается как True, если либо либо Sdepth != 45, либо Sdepth != 38 равно True. Если Sdepth равно 38, то Sdepth != 45 равно True.

Измените строку if на эту:

if Sdepth not in [38, 45]:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...