根据10个站点2009-2018年的逐日 温度数据(station.txt ),写一个 函数,当输入一个站点编号时,输 出该站点的经纬度信息,夏季平均 温度,夏季的最高气温和最低气温
时间: 2024-05-14 15:15:05 浏览: 110
C语言程序设计-编写自定义函数fun。输入一个华氏温度,要求输出摄氏温度。 公式为 c=5(f-32)/9。
5星 · 资源好评率100%
首先,需要读取数据文件,并将数据存储在一个字典中,其中站点编号作为字典的键值。然后,定义一个函数,该函数接受一个站点编号作为参数,并从字典中获取该站点的经纬度信息和温度数据。接下来,根据每年的夏季温度计算平均温度、最高气温和最低气温。最后,输出结果。
以下是示例代码:
```python
# 读取数据文件
with open('station.txt', 'r') as file:
data = {}
for line in file:
row = line.strip().split(',')
sid = int(row[0])
lat = float(row[1])
lon = float(row[2])
temps = [float(x) for x in row[3:]]
data[sid] = {'lat': lat, 'lon': lon, 'temps': temps}
# 定义函数
def get_station_info(sid):
info = data.get(sid)
if info:
lat = info['lat']
lon = info['lon']
temps = info['temps']
summer_temps = []
for i in range(9):
start = i * 31 + 151 # 6月1日的索引为151
end = start + 91 # 8月31日的索引为241
summer_temps.extend(temps[start:end])
avg_temp = sum(summer_temps) / len(summer_temps)
max_temp = max(summer_temps)
min_temp = min(summer_temps)
print(f"经度: {lon}\n纬度: {lat}\n夏季平均温度: {avg_temp:.2f}\n夏季最高气温: {max_temp}\n夏季最低气温: {min_temp}")
else:
print("站点编号不存在")
# 示例调用
get_station_info(1)
```
在此示例中,我们使用了字典来存储数据,因为字典的键值可以快速查找和访问。在函数中,我们首先检查是否存在该站点编号,并从字典中获取站点的经纬度信息和温度数据。然后,我们计算夏季温度的平均值、最高值和最低值,并将结果输出。最后,我们演示了如何调用该函数并传递站点编号作为参数。
阅读全文