Python循环遍历列表找最大值:自定义函数无输出求助
Python找列表最大值函数无输出问题修复
你的代码存在两个关键问题,导致getHighest函数既无输出又逻辑错误:
- 函数未被调用:
main函数生成了scores列表,但从未调用getHighest(scores),这个函数根本没执行,自然不会有输出。 - 循环逻辑错误:
getHighest里的for score in range(0,len(scores))遍历的是列表的索引值(0到9的整数),不是列表中的随机元素,拿索引和highest比较完全不符合需求。
修正后的代码如下:
from random import randint def main() : MIN = -100 MAX = 100 LIST_SIZE = 10 scores = [] for i in range(LIST_SIZE): scores.append(randint(MIN, MAX)) print(scores) # 调用最大值查找函数,传入生成的列表 getHighest(scores) def getHighest(scores) : highest = scores[0] # 直接遍历列表中的每个元素 for score in scores : if highest < score: highest = score print(f"Highest value: {highest}") main()
修改说明:
- 在
main函数末尾添加getHighest(scores),确保触发最大值查找逻辑。 - 把
getHighest里的循环改为直接遍历scores列表元素,这样每次拿到的都是列表中的随机整数,和highest比较才能正确找出最大值。
内容的提问来源于stack exchange,提问作者onthemap
相关产品推荐
相关产品推荐

