我正在学习python课程,其中一个问题要求我编写一个计算单词的程序,如下所示:
Enter line: which witch
Enter line: is which
Enter line:
is 1
which 2
witch 1
到目前为止,我掌握的代码是:
occurences = {}
line = input('Enter line: ')
while line:
m = line.split()
for i in m:
if i in occurences:
occurences[i] += 1
else:
occurences[i] = 1
line = input('Enter line: ')
for word in sorted(occurences):
print(word, occurences[word])
但是当我运行这个代码时,它要么告诉我每个单词只出现过一次,要么告诉我其他一些奇怪的输出。谢谢你的帮助!你知道吗
下面是一个不起作用的例子:
Enter line: test test test
Enter line: one two test
Enter line: one
Enter line:
test 3
这是我得到的输出,而预期的输出是:
test 4
two 1
one 2
当我运行代码时,我没有得到任何输出,这是因为在“While”循环的末尾有一个无限循环,它要求用户输入另一行,从而导致无限循环。你知道吗
在我稍微修改你的代码之前你在做什么
如果您希望它一直持续到用户退出程序,则可以执行以下操作:
for循环中的输入导致了问题,请尝试以下操作:
通过重置for循环中的输入,您将在计算第一个单词后请求新的输入,并忽略字符串中的后续单词。你知道吗
相关问题 更多 >
编程相关推荐