Python如何从用户输入的房价数据中计算平均值、中位数及最值
修复说明
- 原代码存储的价格为字符串类型,直接计算最大值、最小值会按字符串规则比较,结果不符合预期,已调整为输入时转换为整数类型
- 新增非法输入校验,避免用户输入非数字内容导致程序崩溃
- 新增空输入校验,避免用户未输入任何价格直接退出触发报错
- 补充实现平均值、中位数计算逻辑
完整可运行代码
# 该程序接收用户输入的房屋价格,计算平均值、最大值、最小值和中位数 print(" 房地产价格计算程序 ") print() print("**********************************************************************") # 接收用户输入的房屋价格 prices = [] while True: cost_input = input("请输入房屋价格,输入-99结束输入: ") if cost_input == "-99": break # 校验输入是否为合法数字 try: cost = int(cost_input) except ValueError: print("输入不合法,请输入数字格式的价格") continue prices.append(cost) print("*********************************************************************") # 空输入校验 if not prices: print("未输入任何房屋价格,无统计结果") else: print("您输入的房屋价格列表:") print(prices) print() # 计算最大值 print("最高销售价格为:", max(prices)) # 计算最小值 print("最低销售价格为:", min(prices)) # 计算平均值 average = sum(prices) / len(prices) print("平均销售价格为:", round(average, 2)) # 计算中位数 sorted_prices = sorted(prices) length = len(sorted_prices) mid_index = length // 2 if length % 2 == 1: median = sorted_prices[mid_index] else: median = (sorted_prices[mid_index - 1] + sorted_prices[mid_index]) / 2 print("销售价格中位数为:", median)
内容的提问来源于stack exchange,提问作者MistB
相关产品推荐
相关产品推荐

