def find_duplicate():
x =input("Enter a word = ")
for char in x :
counts=x.count(char)
while counts > 1:
return print(char,counts)
我在那里遇到了一个小问题,我想在字符串中找到所有重复项,但是这个程序只给了我一个重复项,例如:aassdd 是我的输入函数只给了我一个 : 2 但它必须是那种形式 a : 2 s : 2 d : 2 感谢您的回答。
原文由 Deniz Firat 发布,翻译遵循 CC BY-SA 4.0 许可协议
return
是一个关键字,它或多或少可以作为 立即退出此功能(并可选择随身携带一些输出) 。因此,您需要删除return
声明:此外,您还必须删除
while
循环(或者如果您想要多次更新计数器print
),否则您将陷入无限循环,因为count
未更新,因此测试将始终成功。但是请注意,在这种情况下
a
如果在字符串中多次找到它,将打印多次(在本例中为两次)。您可以通过首先构建字符串中字符的set
并迭代此集合来解决此问题:最后,最好将 计算 函数和执行 I/O 的函数分开(例如
print
)。所以你最好做一个函数来返回一个带有计数的字典,然后打印那个字典。您可以生成一个字典,如:和一个调用函数:
现在最好的部分是:您实际上不需要编写
find_duplicate
函数:有一个实用程序类:Counter
: