Gerlits777
@Gerlits777
Начинающий разработчик

Как составить проверку?

Есть код:
name = input('Введите ваше имя: ')
if name == ('Kirill') or ('Maks'):
	print('Привет,', name)
	print('Готов ввести свой пароль?')
else:
	print('Не нашел вас')

Почему он выводит
print('Привет,', name)
print('Готов ввести свой пароль?')

когда имя не Kirill и не Maks?
  • Вопрос задан
  • 202 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Потому что эта конструкция if name == ('Kirill') or ('Maks'): работает не так, как вам кажется. Она проверяет, что переменная name равна строке "Kirill" или строка "Maks" истинна. Так как непустая строка всегда истинна, ветка else никогда не будет выполняться. Судя по всему, вам нужно такое условие if name == 'Kirill' or name == 'Maks': или такое if name in ('Kirill', 'Maks'):
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn
if name is 'Kirill' or name is 'Maks':
Ответ написан
half-life
@half-life
name = input('Введите ваше имя: ').strip().lower()
if name in ('kirill', 'maks'):
    print(f'Привет {name.capitalize()}')
    print('Готов ввести свой пароль?')
else:
    print('Не нашел вас')
Ответ написан
Комментировать
adugin
@adugin Куратор тега Python
if name.upper() in {'KIRILL', 'MAKS'}:
    ...
Ответ написан
Комментировать
@gayratbeek
Питонист - суровый
Надо было просто за общую скобку написать всё ;)
if name == ('Kirill' or 'Maks'):
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы