Выполняется не нужный кусочек кода

FlyPhoeniX

Новичок
Пользователь
Фев 8, 2022
7
1
3
Начну с того что это именно кусок кода для теста условия которое я объясню левее =). Суть этого куска чтобы в переменную var_word можно было записать слово любым регистром (word, WORD, Word, worD, и т.д). Первая часть работает нормально и слово я могу записывать как уже писал выше, но если я пропускаю input Enter'ом или пишу что-то другое, он выводит Win, хотя по задумке должен выводить Lose ._. . Пожалуйста помогите) я уверен это дефолтная ошибка, просто я написал какую-то херню и все усложнил) На фотографии запись этого кода в основном проекте.

word = "Word"
var_word = str(input("Enter a word: "))
if var_word == word.lower() or word.upper():
print("Win")
elif var_word != word.lower() or word.upper():
print("Lose")
 

Вложения

  • ErrorHelp.png
    ErrorHelp.png
    29,3 КБ · Просмотры: 2

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 672
478
83
оператор or работает не так, вы написали если var_word равен word.lower() или word.upper(), условие word.upper() будет всегда истинно
нужно так if var_word == word.lower() or var_word == word.upper():

и elif можно заменить на else

и чуть не забыл, код вставляйте как код, соблюдая отступы, подробнее тут как задать вопрос
 
  • Мне нравится
Реакции: FlyPhoeniX

FlyPhoeniX

Новичок
Пользователь
Фев 8, 2022
7
1
3
оператор or работает не так, вы написали если var_word равен word.lower() или word.upper(), условие word.upper() будет всегда истинно
нужно так if var_word == word.lower() or var_word == word.upper():

и elif можно заменить на else
спасибо большое за помощь все работает верно, но почему-то регистры не заработали, если в var_word я впишу допустим woRD, консоль мне пишет Lose
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 672
478
83
спасибо большое за помощь все работает верно, но почему-то регистры не заработали, если в var_word я впишу допустим woRD, консоль мне пишет Lose
Python:
word = "Word"
var_word = input("Enter a word: ")
if var_word.lower() == word.lower():
    print(var_word)
    print("Win")
else:
    print("Lose")

upd
можно без дополнительной переменной
 
Последнее редактирование:
  • Мне нравится
Реакции: FlyPhoeniX

Форум IT Специалистов