Я пытаюсь сделать игру про палача, и у меня возникли проблемы.
import random
list_words = ["cataaaaaaaaaa", "hat", "computer", "thursday", "idiot", "catnip", "sunday"]
name = (random.sample(list_words, 1)[0])
print(f"The word is {len(name)} characters long.")
var_under = ("_" * len(name))
Я ищу способ превратить var_under в строку с фиксированной длиной, чтобы я мог манипулировать ею дальше. Предполагается, что это пустые места, которые буквы заменяют в игре.
Извините, если это очень легко, я пытаюсь научиться самостоятельно.
Не очень понятно, в чем у вас проблемы?
Извините, я не думаю, что мне удалось передать, в чем моя проблема. Мой код дает мне _ для каждой буквы в случайном слове. Но мне нужно преобразовать его в строку или что-то, что я могу затем заменить _ правильно угаданными буквами, если это имеет смысл?






Одним из возможных способов может быть использование var_under в качестве list и соответствующее изменение значений. Что-то вроде ниже:
# before assignment character
var_under = ["_"] * len(name)
print(' '.join(var_under)) # outputs: _ _ _ _ _ _
# after assignment
var_under[1] = 'a' # user entered value assigned to index
print(' '.join(var_under)) # outputs: _ a _ _ _ _
Огромное спасибо. Это помогло. Думаю, мне нужно прочитать о команде соединения.
Попробуйте добавить метод str() в var_under.
Я изменил приведенный ниже код, и после модификации var_under теперь является типом str.
import random
list_words = ["cataaaaaaaaaa", "hat", "computer", "thursday", "idiot", "catnip", "sunday"]
name = (random.sample(list_words, 1)[0])
print(f"The word is {len(name)} characters long.")
var_under = str("_" * len(name))
print(var_under)
print(type(var_under))
var_underявляется строка строка в вашем коде. Вы также можете рассмотретьname = random.choice(list_words).