Задать вопрос

Почему не работает нормально цикл for?

Проблема заключается в чём есть 5 попыток узнать есть ли в загаданому слове буква которую указал пользователь или нет.
если вот такой код:
import random 

WORDS =("питон", "анаграмма", "простая", "сложная", "ответ", "подстаканник")
word = random.choice(WORDS)
i = 5
dor = input('Назовите вашу букву ')
while i!=0:
	for item in word:
	    if item == dor:
	        print('Да')
	i -= 1
	dor = input('Назовите вашу букву ')

Работает нормально, если есть такая буква в слове пишет "да " а вот если нет пропуск и снова вопрос,

Назовите вашу букву а
Назовите вашу букву о
Да
Назовите вашу букву п
Да
Назовите вашу букву и
Да
Назовите вашу букву ы

а если вот такой код:
import random 

WORDS =("питон", "анаграмма", "простая", "сложная", "ответ", "подстаканник")
word = random.choice(WORDS)
i = 5
dor = input('Назовите вашу букву ')
while i!=0:
	for item in word:
	    if item == dor:
	        print('Да')
	    else:
	        print('Нет')
	i -= 1
	dor = input('Назовите вашу букву ')

То вывод будет вот такой:

Назовите вашу букву о
Да
Нет
Нет
Нет
Нет
Назовите вашу букву


Немогу понять почему при добавлении else или elif цыкл for ведёт себя как то не понятно для меня.
  • Вопрос задан
  • 636 просмотров
Подписаться 3 Оценить 6 комментариев
Решения вопроса 1
@nirvimel
import random 

WORDS =('питон', 'анаграмма', 'простая', 'сложная', 'ответ', 'подстаканник')
word = random.choice(WORDS)
dor = input('Назовите вашу букву: ')
print('Да' if dor[0] in word else 'Нет')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы