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)
您正在使用静默忽略索引错误except IndexError: pass
.如果您随机挑选的任何单词短于10个字符,您将获得异常并且WordLetters
不会被设置.
在发生这种情况时设置默认值,或者避免完全索引单个字符; 您可以使用该list()
函数创建一个包含单词的所有单个字符的列表:
WordLetters = list(RandomWord)
Run Code Online (Sandbox Code Playgroud)
无需事先知道这个词中有多少个字符.
请注意,除非您计划改变列表(更改单个元素或添加或删除列表中的元素),否则您无需将字符串转换为单个字符列表.你总是可以循环一个单词或获得长度; len(RandomWord)
有效,也有for character in RandomWord: print(character)
.