2024-09-30 10:42:20 发布
网友
python中的以下问题请。。。。。
假设s是一个小写字符字符串。
我该如何编写一个程序来打印字符串'bob'在s中出现的次数。例如,如果s = 'azcbobobegghakl',则我的程序将打印
'bob'
s
s = 'azcbobobegghakl'
'Number of times bob occurs is: 2'
我是python的新手,非常感谢您的帮助
如果您不想将重叠的bob作为单独的值进行计数,这将很容易:
bob
s.count('bob')
但你显然知道。(我不得不猜测,基于您的预期输出是2而不是1…在将来,最好解释一下您的问题,而不是让它变得模棱两可。)如帮助所述,count返回“子字符串sub出现的不重叠的次数…”,这样做不会有任何好处。
count
sub
因此,为此,您必须手动操作。我将展示一个足以让您入门的示例:
for i in range(len(s)): if s[i:].startswith('bob'): print('Found a bob')
一个稍微聪明的方法是对字符串使用find方法。您可以在online docs中或通过在交互式控制台中键入help(str.find)来查找有关此操作的详细信息。注意find接受一个start参数。你应该能够弄清楚这对你有什么帮助;要想把细节弄清楚可能需要一点工作,但是如果你陷入困境,你总是可以提出一个新问题来寻求具体的帮助。
find
help(str.find)
start
你可以这样试试
string = "BOBOBOBOBOABCDE" search = "BOB" print len([i for i in range(len(string)) if string.startswith(search, i)])
如果您不想将重叠的
bob
作为单独的值进行计数,这将很容易:但你显然知道。(我不得不猜测,基于您的预期输出是2而不是1…在将来,最好解释一下您的问题,而不是让它变得模棱两可。)如帮助所述,
count
返回“子字符串sub
出现的不重叠的次数…”,这样做不会有任何好处。因此,为此,您必须手动操作。我将展示一个足以让您入门的示例:
一个稍微聪明的方法是对字符串使用
find
方法。您可以在online docs中或通过在交互式控制台中键入help(str.find)
来查找有关此操作的详细信息。注意find
接受一个start
参数。你应该能够弄清楚这对你有什么帮助;要想把细节弄清楚可能需要一点工作,但是如果你陷入困境,你总是可以提出一个新问题来寻求具体的帮助。你可以这样试试
相关问题 更多 >
编程相关推荐