Python遍历列表统计奇偶个数 遇字符串时用break终止循环实现
原有代码错误点
- 遍历逻辑错误:使用
for i in range(len(lst1))获取的是列表索引值,而非列表元素本身,导致统计的是索引的奇偶,不是元素的奇偶 - 条件判断语法错误:连续出现两个
else分支,不符合Python语法规范,且字符串类型判断的位置错误、判断对象错误(误判断整个列表的类型而非元素类型) - 执行顺序错误:
break语句放在了字符串提示打印代码之前,会导致提示语永远不会执行 - 未实现需求点:遇到字符串后没有将奇偶计数器置空
修改后完整代码
lst1 = [1,2,3,4,5,"hello",6,7,8,9,] countodd = 0 counteven = 0 for item in lst1: # 优先判断是否为字符串类型 if isinstance(item, str): print("It’s a string!!!") # 计数器置空,若需求为置0可将None改为0 countodd = None counteven = None break # 判断元素奇偶性 if item % 2 == 0: counteven += 1 else: countodd += 1 print("偶数的统计次数:", counteven) print("奇数的统计次数:", countodd)
内容的提问来源于stack exchange,提问作者Yoni Agronov
相关产品推荐
相关产品推荐

