# -*- 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
Run Code Online (Sandbox Code Playgroud)
我必须计算 -str- 字符串中的“e”,但是当我运行这个脚本时,我得到
1
1
1
1
Run Code Online (Sandbox Code Playgroud)
而不是 4。
有什么问题?
首先,不要str用作变量名,它会掩盖内置名称。
至于对字符串中的字符进行计数,只需使用以下str.count()方法:
>>> s = "Green tree"
>>> s.count("e")
4
Run Code Online (Sandbox Code Playgroud)
如果您只是想了解当前代码为何不起作用,那么您将打印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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22003 次 |
| 最近记录: |