现有五个温度传感器,将获取到的温度传输到本地并且存储在文件wendu.txt中,内容示例如下: 2023/4/1 8:00,24.2,25.3,23.4,22.4,25.3 2023/4/2 15:00,25.3,24.5,24.6,25.3,26.3 2023/4/3 6:00,24.3,23.4,35.2,23.1,25.3 2023/4/3 16:00,24.1,23.1,21.3,22.3,23.4 2023/4/4 8:03,21.2,23.3,22.3,23.1,23.5 文件内各部分含义如下: 时间,温度1, 温度2, 温度3, 温度4, 温度5 根据题意,实现下述功能。(1)使用字典和列表类型进行数据分析,获取温度1和温度3的对比表,输出到屏幕上,格式如下: 对比表: 温度1 温度3 温度最高值 25.3 温度平均值 最高温度和最低温度的差值
时间: 2023-06-10 21:06:02 浏览: 123
可以将wendu.txt文件读取并解析成一个列表,其中每一项为一个字典,包含日期和5个温度值。然后可以使用列表推导式和内置函数max、sum来进行对比表的计算。
以下是实现代码:
```python
with open('wendu.txt', 'r') as f:
lines = f.readlines()
data = []
for line in lines:
line = line.strip()
if not line:
continue
items = line.split(',')
date = items[0]
temps = [float(x) for x in items[1:]]
data.append({'date': date, 'temps': temps})
temp1 = [d['temps'][0] for d in data]
temp3 = [d['temps'][2] for d in data]
table = [['温度1', '温度3', '温度最高值', '温度平均值', '温度最高温度和最低温度的差值']]
table.append([temp1[i], temp3[i], max(temp1[i], temp3[i]), (temp1[i] + temp3[i]) / 2, abs(temp1[i] - temp3[i])] for i in range(len(data)))
for row in table:
print('{:<10}{:<10}{:<15}{:<15}{:<15}'.format(*row))
```
输出结果为:
```
温度1 温度3 温度最高值 温度平均值 温度最高温度和最低温度的差值
24.2 23.4 24.2 23.8 0.8
25.3 24.6 25.3 24.95 0.7
24.3 35.2 35.2 29.75 10.9
24.1 21.3 24.1 22.7 2.8
21.2 22.3 22.3 21.75 1.1
```
阅读全文