gpt4 book ai didi

python - 如何修复迭代期间字典大小更改: pygame radar

转载 作者:行者123 更新时间:2023-12-01 07:10:39 27 4
gpt4 key购买 nike

我一直在尝试让这个 python 脚本使用超声波传感器作为雷达模拟。每次我运行代码时,它会运行 3 秒,然后退出并返回错误:字典在迭代期间更改了大小。

我很困惑,不知道从哪里开始。我已经查看了整个代码,但找不到问题,更不用说:字典。也许只是我缺乏经验,但帮助是值得赞赏的。完整的原始源代码可以在这里找到:https://github.com/AmrMohamed-95/radar-simulation

pi@Pi01:~/radar-simulation/src $ python3 radar.py
pygame 1.9.4.post1
Hello from the pygame community. https://www.pygame.org/contribute.html
dictionary changed size during iteration
Radar Exit
pi@Pi01:~/radar-simulation/src $

它应该显示一个持续刷新的雷达,但在两圈后退出。

最佳答案

它是 Python 2 代码,因此请使用 Python 2 运行它(而不是像您一直在做的那样使用 Python 3),例如

pi@Pi01:~/radar-simulation/src $ python radar.py
<小时/>

编辑

至于您观察到的错误,当您在迭代 dict 元素时发出 del 时,就会发生这种情况,例如:

d = {x, str(x): for x in range(10)}

for k, v in d.items():
if k == 7:
del d[k] # <--- error here!

这可能会导致行为不一致,即使错误没有显示,也被认为是不好的做法。

要修复它,您应该重写代码以避免 del ...

在该代码库中,这似乎发生在 display.py line 106 中.

关于python - 如何修复迭代期间字典大小更改: pygame radar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58234190/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com