【发布时间】:2012-04-02 12:53:41
【问题描述】:
问题:编写一个程序,初始化一个空列表,然后提示用户输入单个单词并不断提示输入单个单词,将每个单词添加到列表中,直到用户输入单个句点字符'。'然后打印所有单词对,它们是字谜。比较应该不区分大小写。 - 可以简单地使用字典,但不是必需的。可以根据需要定义函数。
我已经尝试了以下代码的多个版本,但我似乎无法弄清楚我做错了什么。有人可以帮我指出正确的方向/给我一个类似的示例代码吗?我只是卡住了。
def areAnagrams(inputList):
"""Return inputList if words are anagrams, False otherwise"""
inputList = sorted(inputList.lower())
return inputList
inputList = raw_input ("Enter a word period to end: ")
list = []
while inputList != '.':
anagram = inputList
list.append(anagram)
inputList = raw_input("Enter a word (period to end): ")
print "Anagrams:", areAnagrams(inputList)
【问题讨论】:
-
您实际上还没有实现任何可以找到字谜的代码。您的所有
areAnagrams方法所做的只是返回排序的输入列表。你期待有人为你做作业吗? -
你为什么要对列表进行排序?
-
可能是错误的变量命名...在这里,您将数据附加到名为“list”的变量中,并在名为“inputList”的变量上调用函数,此时此变量始终包含' .'.
-
不,我什么都不期待。刚刚迷失在这个特殊的问题中。我根据课堂上的字谜(输入两个单词而不是排序)的示例问题创建了这个。想知道我是否已经接近正确的轨道,而我没有。
-
"然后打印所有成对的字谜。"第一个提示:如果您希望您的函数
areAnagrams能够告诉您一对单词是否是字谜,那么您在调用它时必须给它两个单独的单词。
标签: python dictionary anagram