单名字符串遍历统计字符数异常,多名字序列遍历正常的问题
问题原因及修复方案
问题根源
- 第一段代码里,
a = "atharv"是单个字符串,Python中遍历字符串时,会逐个取出字符串中的每个字符。比如循环里的i依次是'a'、't'、'h'……每个单个字符的长度都是1,所以会连续输出6个1。 - 第二段代码中,
B = "atharv","raj"本质是创建了一个元组(Python中用逗号分隔多个值默认生成元组)。遍历元组时,e会依次取出元组里的完整字符串("atharv"和"raj"),len(e)自然能正确计算每个名字的长度,输出6和3。
修复方式
如果只是统计单个名字的长度,直接调用len()即可,不需要循环:
a = "atharv" print(len(a)) # 输出6
如果需要保持循环的写法(方便后续扩展处理多个名字),可以把单个名字包装成元组或列表:
# 单个元素的元组要加逗号,避免被当成普通字符串 a = ("atharv",) for i in a: print(len(i)) # 输出6
内容的提问来源于stack exchange,提问作者ATHARV KUMBHAR
相关产品推荐
相关产品推荐

