Нужна помощь в добавлении слова в виде отдельных букв в списке - PullRequest
0 голосов
/ 26 февраля 2019

Я новичок в программировании и хотел бы добавить случайно выбранное слово в список отдельных букв (letterList)

import random
wordList = ["bird", "dog", "cat", "school", "computer"]
underscoreList = []
letterList = []

word = random.choice(wordList)

for letter in word:
  letterList.append[letter]
  underscoreList.append["_"]

Ответы [ 3 ]

0 голосов
/ 27 февраля 2019

это добавление (буква) не добавление [буква]

0 голосов
/ 27 февраля 2019
import random 
wordList = ["bird", "dog", "cat", "school", "computer"] 
underscoreList = [] 
letterList = []
for x in range(3):
    word = random.choice(wordList)
    letterList += [[x for x in word]]
    for letter in word:
        underscoreList.append("_")
print(letterList)
0 голосов
/ 27 февраля 2019

Ваш код в основном в порядке, вы просто неправильно используете квадратные скобки (используются для индексации / поиска), когда вам нужны скобки (используются для вызовов функций / методов).append - это метод для list, поэтому вам необходимо разделить аргумент скобками, изменив:

letterList.append[letter]
underscoreList.append["_"]

на:

letterList.append(letter)
underscoreList.append("_")

Имейте в виду, в данном конкретном случаеВы могли бы сильно упростить, заменив свой цикл (и начальное определение своих list s) простым преобразованием в умножение list и list соответственно, оставив просто:

import random
wordList = ["bird", "dog", "cat", "school", "computer"]

word = random.choice(wordList)

letterList = list(word)  # Converts to list of characters directly
underscoreList = ['_'] * len(word)  # Makes list of underscores of matching length
...