Python中的无限循环

0 投票
2 回答
4526 浏览
提问于 2025-04-17 20:49

我还是个初学者,想在Python里写一个while循环。我有两条相交的平面曲线,我想把第一条曲线按照某个方向在这个平面上移动,直到它们不再相交为止。我试过类似这样的代码:

vec = [0,0.1,0]
int = True
while True:
    move=rs.MoveObject(curve1,vec)
    int=rs.CurveCurveIntersection(curve1, curve2)
    if int = False:
        break

有人知道我哪里出错了吗?谢谢大家!

2 个回答

1

可以简化为

vec = [0, .1, 0]

while rs.CurveCurveIntersection(curve1, curve2):
    move = rs.MoveObject(curve1, vec)

... 我不太明白 move 是什么。

如果 rs.MoveObject() 是在修改这个对象,那你只需要写 rs.MoveObject(curve1, vec)

如果它返回的是一个修改后的对象,那你就需要写 curve1 = rs.MoveObject(curve1, vec)(否则你现在的代码会导致无限循环)。

3

首先,你在用'int'这个关键字(表示整数类型)作为变量,同时还把这个'int'变量直接设置为False(在if语句中这样写是语法错误)。这样做可能会导致系统出问题。你也没有说明具体的错误信息是什么。

intersect = rs.CurveCurveIntersection(curve1, curve2)
if not intersect:
  break

撰写回答