【发布时间】:2015-10-06 14:29:36
【问题描述】:
我有一个小问题,变量似乎没有正确定义为变量。当我尝试print 变量WordLetters 的值时,它不会返回任何内容。当我尝试print 变量的长度时,它返回0。
最初我在WordLetters 变量方面有一个NameError,然后我在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.")
【问题讨论】:
-
您默默地忽略了
IndexErrorRandomWord的异常。请删除try...except,您就会知道为什么没有设置WordLetters。您随机选择了一个少于 10 个元素的RandomWord。 -
你不想要
WordLetters = list(RandomWord)吗? -
这仅在
RandoWord的长度正好为 10 个字母时才有效。你总能找到字符串的len()。 -
哦,它想被定义,你只是不允许它。
Words中的所有单词至少有 10 个字母似乎是错误的。 @Buzz,不完全是 10,但至少有 10 个字符长。 -
多么冗长的代码啊。你可以只使用 RandomWord[:10] :)
标签: python list variables python-3.x global-variables