Python: как я могу создать список символов со значением «_» по умолчанию?

Я хочу создать список, размер которого равен «word_len», а символ по умолчанию — «_», который позже можно заменить правильным предположением пользователя. Как мне это сделать? Мой текущий код: -

import random

word_list = ["aardvark", "baboon", "camel"]

chosen_word = random.choice(word_list)
word_len = len(chosen_word)

guess_letter = input("Guess a letter: ").lower()

final_list = []

for character in chosen_word:
    if character == guess_letter:
        print("Right")
    else:
        print("Wrong")

Если вы следите за оставшимися буквами в словаре remaining = dict.fromkeys(chosen_word,"_"), вы можете удалить угаданные буквы по ходу работы с (remaining.pop(guess_letter,"") и распечатать результат с помощью print(*(remaining.get(c,c) for c in chosen_word)). Когда remaining пусто, слово найдено.

Alain T. 17.04.2023 20:29
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
1
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

_ - это проблема времени отображения. Вам не нужно сохранять отображаемые слова с их _, вы можете просто генерировать их во время отображения.

Для этого вам нужно отслеживать буквы, которые были guessed. Затем вы можете проверить каждый символ каждого слова в word_list.

guessed = "abcd"
word_list = [ "cat", "dog", "cab" ]

print( [ ''.join([ l if l in guessed else '_' for l in word]) for word in word_list ] )
['ca_', 'd__', 'cab']

Если вложенные списки поначалу вызывают у вас косоглазие, вот эквивалентная длинная форма:

display_words = []
for word in word_list:
    new_word = ""
    for l in word:
        if l in guessed:
            new_word = new_word + l
        else :
            new_word = new_word + '_'
    display_words.append(new_word)

print(display_words)

Другие вопросы по теме