Python 而x和y在一定范围内

Python 而x和y在一定范围内,python,while-loop,random-walk,Python,While Loop,Random Walk,我正在尝试写一个随机行走sim卡,其中字段大小限制为10 x 10 m。 我的想法是在一个while循环中将x和y限制在-10到+10之间,但它不起作用。x和/或y不断增大到大于10或小于-10 我曾尝试将while循环参数分解为更简单的参数,但仍然不起作用 我做错了什么 def move(self, steps): global lastStep x = 0.0 y = 0.0 while -10 <= x <= 10 and -10 <

我正在尝试写一个随机行走sim卡,其中字段大小限制为10 x 10 m。 我的想法是在一个while循环中将x和y限制在-10到+10之间,但它不起作用。x和/或y不断增大到大于10或小于-10

我曾尝试将while循环参数分解为更简单的参数,但仍然不起作用

我做错了什么

def move(self, steps):

    global lastStep
    x = 0.0
    y = 0.0


    while -10 <= x <= 10 and -10 <= y <= 10 :

            for i in range(steps):
                # print("before field test; ", x, y)
                step = random.choice(['N', 'W', 'S', 'E'])
                if step == 'N':
                    y += 0.5
                elif step == 'S':
                    y -= 0.5
                elif step == 'E':
                    x += 0.5
                elif step == 'W':
                    x -= 0.5
                else:
                    raise ValueError ("In Drunk.move")
                lastStep = step

            return x, y

    return x, y
def移动(自身,步骤):
全局最后一步
x=0.0
y=0.0

while-10将
while
更改为
if…:中断
并将其移动到
for
循环中?第一个
return
语句有效地将
while
循环转换为
if
语句;移除它。