编写Python函数mystruct(text)统计特定字符结构出现次数
Python函数
mystruct实现:统计特定字符结构出现次数 需求说明
实现函数mystruct(text),统计字符串中符合以下规则的字符结构出现次数:
- 结构以字符
G开头 - 开头
G之后可跟随任意数量(含0个)的A或T字符 - 结构以连续的
GG结尾
示例:
- 输入
"GAATAGG"→ 有效结构为GAATAGG,次数为1 - 输入
"GAATATTTGG"→ 有效结构为GAATATTTGG,次数为1 - 输入
"GG"→ 有效结构为GG,次数为1
实现代码
def mystruct(text): count = 0 i = 0 text_len = len(text) while i < text_len - 1: # 至少需要两个字符才能形成GG结尾 if text[i] == 'G': j = i + 1 # 跳过中间所有的A/T字符 while j < text_len and text[j] in ('A', 'T'): j += 1 # 检查是否匹配GG结尾 if j < text_len - 1 and text[j] == 'G' and text[j+1] == 'G': count += 1 # 跳过结尾的GG,避免重复统计 i = j + 1 else: i += 1 else: i += 1 return count
代码逻辑说明
- 初始化计数器
count和遍历索引i - 遍历字符串,当遇到起始字符
G时,用索引j跳过后续所有的A/T字符 - 检查
j位置是否为G且下一个字符也是G:- 若是,计数器加1,同时将
i跳至j+1,避免重复处理结尾的GG - 若否,将
i递增1,继续下一个位置的检查
- 若是,计数器加1,同时将
- 遍历结束后返回计数器值
测试示例
# 测试示例1 print(mystruct("GAATAGG")) # 输出: 1 # 测试示例2 print(mystruct("GAATATTTGG")) # 输出: 1 # 测试示例3 print(mystruct("GG")) # 输出: 1 # 测试示例4 print(mystruct("GATGGATGG")) # 输出: 2
内容的提问来源于stack exchange,提问作者Nikoletta Nissi
相关产品推荐
相关产品推荐

