Python中不使用count()、分别用while和for循环统计字符串指定字符数量
实现方案
1. 符合下标遍历框架的for循环实现
和题目给出的直接遍历字符的参考实现逻辑不同,本方案基于下标遍历的要求实现:
example = 'asdkfkebansmvajandnrnndklqjjsustjwnwn' count_a = 0 # 专门存储字符a的出现次数 # 遍历字符串所有下标,范围为0到字符串长度-1 for index in range(0, len(example)): current_char = example[index] # 匹配到字符a时计数器加1 if current_char == 'a': count_a += 1 print(count_a)
如果你之前已经把字符串转成了列表example_list,只要把example[index]替换成example_list[index]即可,逻辑完全一致。
2. 符合给出框架的while循环实现
example = 'asdkfkebansmvajandnrnndklqjjsustjwnwn' index = 0 # 遍历用的下标变量 count_a = 0 # 专门存储字符a的出现次数 # 当下标未超出字符串总长度时持续循环 while index < len(example): current_char = example[index] if current_char == 'a': count_a += 1 # 下标自增,进入下一个字符的判断 index += 1 print(count_a)
说明:你之前的尝试只有打印字符/下标的逻辑,缺少匹配字符a、计数累加的判断步骤,补上对应逻辑即可实现需求。Python的字符串本身就支持按下标取字符,不需要额外转成列表也能操作。
内容的提问来源于stack exchange,提问作者Ceri J.
相关产品推荐
相关产品推荐

