Python调用自定义函数时如何避免重复请求用户输入
问题根源
listMin、listMax两个函数内部重复调用了getList()触发新输入,没有使用主程序传入的已经生成好的原始列表参数aList,是参数误用导致的问题。
修复方案
删除两个统计函数中调用getList()的代码行,直接使用传入的列表参数即可,注意统一变量名大小写,修改后完整代码如下:
def getList(): user_input = input() newlist = user_input.split() for index in range(len(newlist)): newlist[index] = int(newlist[index]) return newlist def listMin(aList): small = aList[0] for num in aList: if num < small: small = num return small def listMax(aList): large = aList[0] for num in aList: if num > large: large = num return large ### 主程序 ### myList = getList() print(myList) print(listMin(myList)) print(listMax(myList))
优化提示
如果不需要自行实现最值统计逻辑,直接调用Python内置的min()、max()方法可以简化代码,主程序可以直接写成:
myList = getList() print(myList) print(min(myList)) print(max(myList))
内容的提问来源于stack exchange,提问作者junk
相关产品推荐
相关产品推荐

