for i in range(184): ls=[] for c in range(2928): if c<len(tomp): ls.append(tomp[c]) tomp.remove(tomp[c]) else: ls.append(0) s=0 for i in ls: s+=i avge=[] avg=s/2928 avge.append(avg) print(avge)这个代码怎么修改才可以输出184个平均数
时间: 2024-02-14 22:02:50 浏览: 87
要输出 184 个平均数,可以将 avge 列表定义在循环外面,并在每次循环结束后将平均数添加到 avge 列表中。修改后的代码如下:
```
avge = [] # 定义 avge 列表
for i in range(184):
ls = []
for c in range(2928):
if c < len(tomp):
ls.append(tomp[c])
tomp.remove(tomp[c])
else:
ls.append(0)
s = 0
for i in ls:
s += i
avg = s / 2928
avge.append(avg) # 将平均数添加到 avge 列表中
print(avge) # 输出 avge 列表
```
这样,代码就会输出一个包含 184 个平均数的列表了。
相关问题
avge=[] for i in range(1,185): ls=[] for k,v in room_tomp: if k==i: ls.append(v) s=0 for i in ls: s+=i avg=s/2928 avge.append(avg)print(avge)这个代码为什么输出的avge除了第一个数据是正常值外 其他的都是0?
根据你提供的代码,我发现问题出在变量 `ls` 的定义上。在每次迭代时,你都将 `ls` 重新定义为空列表,而没有将前一轮迭代的数据保存下来。
因此,在计算第二个数时,你的 `ls` 列表中已经没有任何元素了,导致 `s` 的值为0,最终计算出的平均值也是0。后续的计算同理,因此输出的大部分值都是0。
为了解决这个问题,你需要将 `ls` 列表定义在 `for i in range(1,185)` 循环外,以便在每次迭代时保存前一轮的结果。你可以尝试修改代码如下:
```python
avge = []
ls = [] # 将 ls 列表定义在循环外
for i in range(1, 185):
ls.clear() # 每轮迭代前清空 ls 列表
for k, v in room_tomp:
if k == i:
ls.append(v)
s = sum(ls) # 使用 sum 函数计算列表元素的总和
avg = s / len(ls) # 计算平均值时使用列表的长度
avge.append(avg)
print(avge)
```
这样修改后,每轮迭代时都会将数据保存在 `ls` 列表中,计算平均值时也会使用正确的列表长度,输出的结果应该就是正确的了。
import numpy as np import pandas as pd import matplotlib.pyplot as mp df=pd.read_excel('C:/Users/86147/OneDrive/文档/66666.xlsx',header=0,usecols=(1,)) mylist1=df.values.tolist() room=[] for i in mylist1: room.append(i[0]) df=pd.read_excel('C:/Users/86147/OneDrive/文档/66666.xlsx',header=0,usecols=(2,)) mylist1=df.values.tolist() tomp=[] for i in mylist1: tomp.append(i[0]) room_tomp=zip(room,tomp) avge=[] for i in range(1,185): ls=[] for k,v in room_tomp: if k==i: ls.append(v) s=0 for i in ls: s+=i avg=s/2928 avge.append(avg) mp.plot(avge) mp.title('average temperature change') mp.xlabel('room_num') mp.ylabel('avg_temp') mp.show()检查这个代码为什么不输出图像
这段代码的问题可能是缺少必要的库导入语句。请在代码前添加以下语句:
```
import matplotlib.pyplot as mp
```
然后重新运行代码。如果还是不输出图像,请检查您的电脑是否已安装 Matplotlib 库,并且检查文件路径是否正确。如果问题仍然存在,请提供更多错误信息,以便我能够更好地帮助您。
阅读全文