Python代码运行提示'int'与'list'实例不支持'>'比较如何解决
代码报错排查与修复
问题原因
- 核心报错原因:
max_num初始值被定义为列表类型[0],循环中用整数number和列表做大小比较,触发类型不支持的对比错误。 - 额外逻辑错误:最终打印时未给
counter函数传入参数执行,直接输出函数名会得到函数对象内存地址,无法获得统计结果。 - 可选优化点:若输入列表可能包含负数,将
max_num初始值设为list1[0]可避免默认0大于所有负数的逻辑漏洞。
修复后完整代码
list1 = list(map(int, input().split())) # 修正初始值为整数,若需适配全负数输入可改为 max_num = list1[0] max_num = 0 for number in list1: if number > max_num: max_num = number def counter(lis1, max_num): count = 0 for number in lis1: if number == max_num: count += 1 return count # 调用函数传入参数获取统计值 count_res = counter(list1, max_num) # 适配单复数输出 print(f'{max_num} has occured {count_res} time{"s" if count_res != 1 else ""}')
内容的提问来源于stack exchange,提问作者Toxic Coder
相关产品推荐
相关产品推荐

