Python输入正数存列表后输出最值与平均值的实现方法
解决方案
你可以直接使用Python内置的min()、max()、sum()、len()方法完成对应统计,额外补充空列表判断避免异常即可,修改后的完整代码如下:
number = 1 numbers = [] while number > 0: number = int(input("请输入一个正数(输入负数终止输入):")) if number > 0: numbers.append(number) # 先判断是否有有效输入 if not numbers: print("你没有输入任何有效正数,无法进行统计") else: min_num = min(numbers) max_num = max(numbers) avg_num = sum(numbers) / len(numbers) print(f"输入的正数列表:{numbers}") print(f"列表最小值:{min_num}") print(f"列表最大值:{max_num}") print(f"列表平均值:{avg_num:.2f}")
代码说明
min(numbers):直接返回列表中的最小元素max(numbers):直接返回列表中的最大元素- 平均值计算逻辑:列表所有元素总和
sum(numbers)除以列表元素个数len(numbers),代码中.2f表示保留两位小数输出,不需要可以直接删除该参数 - 新增的非空判断是为了处理用户未输入任何正数直接输入负数终止的场景,避免调用
min()等方法时抛出运行异常
内容的提问来源于stack exchange,提问作者Lem_
相关产品推荐
相关产品推荐

