gpt4 book ai didi

python - Python 中的循环和 if 语句

转载 作者:太空宇宙 更新时间:2023-11-03 18:54:30 25 4
gpt4 key购买 nike

我有一个问题,如果外部条件(自动评估)为假,我想从 0 到 1(通过 0.01 的增量)(该位很容易),并在条件为假时停止计数器正确。

条件是两个对象之间是否发生碰撞。我知道这部分工作正常,因为我已经在循环内手动测试了它。但事实证明,如果发生碰撞则停止计数器是很棘手的。我确信我错过了一些非常非常简单的事情。

   def autoHandClose():
global collisionDeteched # this is set to false but on collision correctly changes to true
counter = 0
for x in range(100):
if collisionDeteched == False:
counter = counter + 0.01
h.setGesture(hand.GESTURE_FIST, closeThumb=True, weight = counter)
else:
break

权重参数是从0到1(因此我想从0到1来关闭手的原因)我可以关闭手,但如果检测到碰撞则无法让它停止。此方法被分配给键盘按钮按下。

我猜逻辑是错误的,对吗?

最佳答案

对“collisionDetected”的检查是否在此循环的并行线程上运行?如果不是,您将永远不会退出循环,因为碰撞检测的值永远不会更新。是这样吗?

附注:

您可能希望更改 for 循环,使其看起来更像这样,以使代码更简洁:

for counter in range(0,1,0.01):
...

这将减少在循环中设置计数器的需要。

关于python - Python 中的循环和 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17599161/

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