ваше понимание или не совсем правильно.
Если взять одну из вас if
строку: if 'slb' or 'schlumberger' in items.split()
и использовать печать, чтобы оценить ее истинность
#you are essentially saying this
print(bool('slb'))
#or this
print(bool('schlumberger' in items.split()))
ВЫХОД
True
False
Так что вы можете видеть, что 'slb'
вернет true, а 'schlumberger' in items.split()
вернет false.
Поскольку вы используете or
, то все, что слева от or
будет оцениваться первым. Так как 'slb'
возвращает true, or
не будет проверять другую сторону и просто скажет, что это if
true, и напечатает ваше письмо.
Вместо этого вам нужно проверить каждую строку в элементах, разделенныхor
.
items=' g energy 4"3/4 drilling jar'.split()
print(items)
if 'energy' in items or 'ge' in items:
print('E')
if 'slb' in items or 'schlumberger' in items:
print('S')
if 'oes' in items or 'overseas' in items:
print('O')