gpt4 book ai didi

python - 尝试仅使用 while 循环计算字母出现的次数

转载 作者:行者123 更新时间:2023-11-28 21:53:33 25 4
gpt4 key购买 nike

我正在尝试计算原始输入“短语”中有多少个 o,它计算第一个 o 并说它已完成,但之后还有很多 o。如何在没有 for 循环的情况下计算所有 o。

while loop_count<len(phrase):
if "o" in phrase:
loop_count += 1
count2 += 1
if loop_count>len(phrase):
print loop_count
break
else:
continue
else:
print loop_count
continue

最佳答案

您可以使用 sum使用迭代器(在本例中为 generator expression ):

>>> sum(c=='o' for c in 'oompa loompa')
4

您可以使用带 len 的正则表达式:

>>> re.findall('o', 'oompa loompa')
['o', 'o', 'o', 'o']
>>> len(re.findall('o', 'oompa loompa'))
4

你可以使用计数器:

>>> from collections import Counter
>>> Counter('oompa loompa')['o']
4

或者只使用字符串的'count'方法:

>>> 'oompa loompa'.count('o')
4

如果你真的想要使用 while 循环,使用 pop 方法将列表用作堆栈:

s='oompa loompa'
tgt=list(s)
count=0
while tgt:
if tgt.pop()=='o':
count+=1

或者“for”循环——更像 Pythonic:

count=0        
for c in s:
if c=='o':
count+=1

关于python - 尝试仅使用 while 循环计算字母出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25921372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com