编程新手求助:如何按输入N创建对应输入并计算平均值
计算平均值问题解答
你的思路方向是对的,但代码里只完成了读取输入的步骤,没保存数值、没积累总和,也没输出最终结果。咱们一步步修正:
核心逻辑梳理
- 读取数值个数N
- 循环读取N个数值,累加计算总和
- 用总和除以N得到平均值
- 格式化输出,保留两位小数
修正后的while循环版本代码
a = int(input()) total = 0.0 # 初始化总和变量,用来存所有数值的累加结果 x = 1 while x <= a: # 简化条件,x从1到a,循环a次 num = float(input()) # 把输入转成浮点数并保存到变量里 total += num # 将当前数值加到总和中 x += 1 # 计数器加1,推进循环 average = total / a # 计算平均值 print("{:.2f}".format(average)) # 格式化输出,保留两位小数
更简洁的for循环版本(推荐新手用)
for循环不需要手动维护计数器,代码更简洁直观:
a = int(input()) total = 0.0 for _ in range(a): # 直接循环a次,_是占位符,不用额外变量 num = float(input()) total += num average = total / a print(f"{average:.2f}") # f-string格式化,写法更简洁
关键细节说明
- 必须用
total变量累加所有输入的数值,不然读取的数值会直接丢失,无法计算总和 - 输出时用
"{:.2f}"或f"{average:.2f}"强制保留两位小数,不管平均值本身是整数还是小数,都能符合题目要求(比如1会输出成1.00) - 输入的数值可能是整数或小数,用
float()转换能统一处理两种情况
内容的提问来源于stack exchange,提问作者user20560838
相关产品推荐
相关产品推荐

