变量不想定义?

Med*_*yon -3 python variables list global-variables python-3.x

我有一个小问题,其中变量似乎没有被正确定义为变量.当我尝试print变量的值时WordLetters,它不会返回任何内容.当我尝试print变量的长度时,它返回0.

最初,我有一个NameError在方面WordLetters的变量,然后我外面定义的try:功能,现在它没有返回值.可能是它try:有自己的范围吗?如果是这样,我将如何将值附加到WordLetters列表中?

RandomWord = random.choice(Words)
try:
  WordLetters = [RandomWord[0], RandomWord[1], RandomWord[2], RandomWord[3], RandomWord[4], RandomWord[5], RandomWord[6], RandomWord[7], RandomWord[8], RandomWord[9]]
except(IndexError):
  pass

print("Word: " + "".join(WordLetters))
print("The word is " + str(len(WordLetters)) +  " letters long.")
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 5

您正在使用静默忽略索引错误except IndexError: pass.如果您随机挑选的任何单词短于10个字符,您将获得异常并且WordLetters不会被设置.

在发生这种情况时设置默认值,或者避免完全索引单个字符; 您可以使用该list()函数创建一个包含单词的所有单个字符的列表:

WordLetters = list(RandomWord)
Run Code Online (Sandbox Code Playgroud)

无需事先知道这个词中有多少个字符.

请注意,除非您计划改变列表(更改单个元素或添加或删除列表中的元素),否则您无需将字符串转换为单个字符列表.你总是可以循环一个单词或获得长度; len(RandomWord)有效,也有for character in RandomWord: print(character).