补充代码,完成简单数据分析。[测三] 要求: 1、计算数据文件中的各城市定基的平均值(保留两位小数); 2、对用户输入的城市,输出该市定基值与平均值的比较结果(保留两位小数)。 其中,数据文件部分内容及两次执行结果如下图所示。 注意:不要输入多余的空格,字符串标记请使西文单引号! fo=open("price2016.csv","r") lst=[] for line in fo: line=line.replace("\n","") lst.append(line.split(",")) 1 分 for i in range(1,len(lst)): s=s+ 2 分 mean=s/ 1 分 print('定基平均值为{:.2f}.'.format(mean)) city=input("请输入查询城市:") for i in range(1,len(lst)): if lst[i][0]==city: print('{1}定基值比平均值{0}{2:.2f}。'.format('高'if 2 分 else '低',city, 1 分 )) 1 分 else: print('没找到要查询的城市!') fo.close()
时间: 2024-03-22 15:37:47 浏览: 78
补充代码如下:
```python
fo = open("price2016.csv", "r")
lst = []
s = 0
for line in fo:
line = line.replace("\n", "")
lst.append(line.split(","))
s += float(lst[-1][-1]) # 累加定基值
mean = s / (len(lst) - 1) # 计算平均值
print('定基平均值为{:.2f}。'.format(mean))
city = input("请输入查询城市:")
found = False # 标记是否找到了城市
for i in range(1, len(lst)):
if lst[i][0] == city:
diff = float(lst[i][-1]) - mean # 计算与平均值的差值
if diff > 0:
result = '高'
elif diff < 0:
result = '低'
else:
result = '等于'
print('{}定基值比平均值{}{:.2f}。'.format(city, result, abs(diff)))
found = True
break
if not found:
print('没找到要查询的城市!')
fo.close()
```
补充说明:
1. 在读取数据文件的同时,累加每个城市的定基值,并统计城市的个数,以计算平均值。
2. 在用户输入城市后,遍历数据列表,查找该城市,如果找到则计算该城市定基值与平均值的差值,并输出比较结果;如果没找到则输出相应提示。
3. 输出结果时,根据差值的正负性,选择输出“高”、“低”或“等于”。
4. 代码中用到了标记变量found,用于标记是否找到要查询的城市。如果找到了,则将其设置为True,否则保持为False。
阅读全文