【发布时间】:2012-10-29 01:18:25
【问题描述】:
class anagram_generator:
words = ""
letters = []
def get_words():
words = raw_input("input the letters\n")
letters = []
i = 0
def sort_words():
for word in words:
letters.append(word)
print letters[i]
i = i + 1
get_words()
sort_words()
sort_words 怎么不打印出 words 字符串和 letters 数组?
【问题讨论】:
-
您对“for word in words”的使用将通过单词中的单个字母。那是你的本意吗?我建议将单词声明为列表而不是空字符串。
-
可能是因为 get_words() 不完整,而 words = ""?
-
@monkut 我已经编辑了代码。我以为它会弄得乱七八糟。
-
words 还是空的。您使用的是单词的“本地”副本,而不是此实例副本。要使用实例的副本,您必须使用 self.words.. 引用它。但是这段代码无论如何都不应该运行,您的 sort/get_words() 方法没有使用 self。没有必要在这里把它变成一个类...删除“class anagram_generator”和 dedent。
-
我真的很困惑你为什么要以这种方式构建课程。你是否意识到你是在类本身而不是实例上创建属性,并且会在类定义时调用你的函数——这些函数不能作为实例方法工作?您确定要这样设计您的课程吗?