fo=open("price2016.csv","r") lst=[] for line in fo: line=line.replace("\n","") lst.append(line.split(",")) s=0 for i in range(1,len(lst)): s=s+ float(lst(lst[i][1])) mean=s/ (len(lst-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 else '低',city, )) break else: print('没找到要查询的城市!') fo.close()补全代码
时间: 2024-03-22 13:37:38 浏览: 97
代码补全如下:
```python
fo = open("price2016.csv", "r")
lst = []
for line in fo:
line = line.replace("\n", "")
lst.append(line.split(","))
s = 0
for i in range(1, len(lst)):
s = s + float(lst[i][1])
mean = s / (len(lst) - 1)
print('定基平均值为{:.2f}。'.format(mean))
city = input("请输入查询城市:")
for i in range(1, len(lst)):
if lst[i][0] == city:
if float(lst[i][1]) > mean:
desc = '高'
else:
desc = '低'
print('{0}定基值比平均值{1}{2:.2f}。'.format(city, desc, abs(float(lst[i][1]) - mean)))
break
else:
print('没找到要查询的城市!')
fo.close()
```
在求定基平均值时,需要累加每个城市的价格数据,累加的起始下标应该是1而不是0,因为第0行是表头而不是数据。在比较城市价格和平均价格时,需要计算它们的差值,并且根据差值的正负来判断价格是高于还是低于平均价格。如果城市不存在,则输出提示信息。
阅读全文