气象站项目中的关键错误

2024-05-19 16:24:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做一个气象站的项目时遇到了这样的错误。误差如下:

Traceback (most recent call last):
  File "wind_direction_byo.py", line 27, in <module>
    print('Unknown value: ' + str(wind) + ' ' + str(volts[wind]))
KeyError: 0.0

这是我尝试执行的源文件代码:

   from gpiozero import MCP3008
import time
import math
adc = MCP3008(channel=0)
count = 0
values = []
volts = {0.4: 0.0,
         1.4: 22.5,
         1.2: 45.0,
         2.8: 67.5,
         2.7: 90.0, 
         2.9: 112.5,
         2.2: 135.0,
         2.5: 157.5, 
         1.8: 180.0, 
         2.0: 202.5, 
         0.7: 225.0, 
         0.8: 247.5, 
         0.1: 270.0, 
         0.3: 292.5, 
         0.2: 315.0, 
         0.6: 337.5}

while True:
    wind = round(adc.value*3.3,1)
    if not wind in volts:
        print('Unknown value: ' + str(wind) + ' ' + str(volts[wind]))
    else:
        print('Found: ' + str(wind) + ' ' + str(volts[wind]))

Tags: 项目inimportvalue错误unknown误差wind
1条回答
网友
1楼 · 发布于 2024-05-19 16:24:40

检查wind是否在volts字典中,当它丢失时,您仍然尝试访问它:

if not wind in volts:
    print('Unknown value: ' + str(wind) + ' ' + str(volts[wind]))

如果不存在,则无法访问它。从打印中删除:

if not wind in volts:
    print('Unknown value: ' + str(wind))

相关问题 更多 >