Найти - Пользователи
Полная версия: Оператор или
Начало » Python для новичков » Оператор или
1
Lucky94
допустим, мне надо написать код, который выводит строку, если ввести определённые числа.

 x = int(input('Введите код: '))
if x == 3 or 4 or 5:
      print('Это число есть в списке')
else:
      print('Этого числа нет в списке')

В итоге, что бы я ни ввёл при исполнении программы, будь то 3, 4 или 5, что абсолютно другое число - результат всегда будет, что “Это число есть в списке”, то, что “Этого числа нет в списке” никогда не напишет, даже если и на самом деле нет. Если создать несколько инструкций if, elif и прописать в них в каждом по одному из этих 3 чисел все будет работать как надо. Но я хочу понять, как сделать так, чтобы в одной инструкции можно было прописать несколько чисел, и ежели какое то из этих чисел я введу в инпут, или введу другое число - выполнялась соответствующая инструкция.
terabayt
нужно или
 if x == 3 or x == 4 or x == 5:
или
 if x in [3, 4, 5]:
или
 if x in range(3, 6):

а у вас всегда есть в списке по той причине что число не ноль True
 >>> if 4:
...  print 5
... 
5
>>> if 0:
...  print 5
... 
>>> 
Lucky94
terabayt
а у вас всегда есть в списке по той причине что число не ноль True
Спасибо за помощь, теперь всё работает, во всём разобрался)

Shaman
terabayt
if x in range(3, 6):
Это лучше писать в форме
 if 3 <= x < 6:
terabayt
Shaman
Это лучше писать в форме
а вот не могу
никак не могу привыкнуть и на автомате никогда даже не вспоминается
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB