Я пытаюсь разрешить определенный ввод с этим кодом.
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"), то выводится, когда этого не следует.
print("depth can only be 45 or 38")
Вам нужно and, а не or в этом случае. Например, если вы введете 45, Sdepth != 38 будет по-прежнему True, то есть, если целое условие будет True. Или вы можете использовать if Sdepth not in (45, 38):
and
or
45
Sdepth != 38
True
if Sdepth not in (45, 38):
Sdepth != 45 or Sdepth != 38 оценивается как True, если либо либо Sdepth != 45, либо Sdepth != 38 равно True. Если Sdepth равно 38, то Sdepth != 45 равно True.
Sdepth != 45 or Sdepth != 38
Sdepth != 45
Sdepth
Измените строку if на эту:
if
if Sdepth not in [38, 45]: