При выполнении кода ниже я получаю сообщение об ошибке объединения строк

#python-3.x #compiler-errors

#python-3.x #ошибки компилятора

Вопрос:

Привет, ребята! Я начал изучать программирование. И при выполнении кода ниже я получаю сообщение об ошибке объединения строк.

 import random

word_list = ["ababababababab", "baloon", "banana"]

chosen_word = random.choice(word_list)

print(chosen_word)

guess = input("Guess the word, type one letter: n").lower()

i = 0
while (i < len(chosen_word)):
    for i in chosen_word:
        if i == guess:
            print(guess)
    i  = 1
 

Сообщение об ошибке:
Ошибка типа: можно только объединить str (не «int») в str

Комментарии:

1. In i = 1 , i это строка из-за for i in chosen_word . Вы должны использовать два разных имени переменных.

2. Или, скорее, используйте только одну переменную и один цикл.

Ответ №1:

 j = ""
for j in chosen_word:
    if j == guess:
        print(guess)
 

Используйте один цикл.

Ответ №2:

Попробуйте этот способ, поместите ввод в цикл while (почему вы сделали условие while в скобках?). Еще одна вещь, которую я изменил, — использовать оператор if, установленный для цикла.

 import random

word_list = ["ababababababab", "baloon", "banana"]

chosen_word = random.choice(word_list)

print(chosen_word)

i = 0
while i < len(chosen_word):
    guess = input("Guess the word, type one letter: n").lower()
    if guess in chosen_word:
        print(f'Yep {guess} is in a word')
    i  = 1