# -*- coding:UTF-8 -*-
str= "Green tree"
scr= "e"
cstr= len(str)
n=0
a=0
while n < cstr:
if str[n] == scr:
print(len(scr))
n=n+1
我必须在-str-字符串中计算“ e”,但是当我运行此脚本时,我得到了
1
1
1
1
而不是4。
有什么问题?
首先,不要将其str
用作变量名,它会掩盖内置名称。
至于计数字符串中的字符,只需使用以下str.count()
方法:
>>> s = "Green tree"
>>> s.count("e")
4
如果您只是想了解当前代码为何不起作用,那么您将打印1
四次,因为您会发现四个出现的'e',并且当发现一个出现时,您将len(scr)
始终打印1
。
而不是len(scr)
在if块中打印,您应该增加一个计数器来跟踪找到的总发生次数,这看起来像是设置了一个a
未使用的变量,因此对代码的最小更改即可获得它可以进行以下工作(但是如上所述,这str.count()
是一种更好的方法):
str= "Green tree"
scr= "e"
cstr= len(str)
n=0
a=0
while n < cstr:
if str[n] == scr:
a+=1
n=n+1
print(a)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句