gpt4 book ai didi

Python:酒鬼走路

转载 作者:行者123 更新时间:2023-11-28 22:47:28 26 4
gpt4 key购买 nike

我必须编写代码来计算醉汉步行的路线和长度。

练习:一个酒鬼开始漫无目的地行走,从一根灯柱开始。在每个时间步,他随机向北、向东、向南或向西迈出一步。酒鬼能走多远N步后从灯柱出来?为了模拟酒鬼的脚步,我们可以用数字对每个方向进行编码,这样当随机变量等于 0 时,酒鬼向北移动,如果随机变量等于 1,则酒鬼向东移动,依此类推。

编写一个程序,它接受一个整数参数 N 并模拟随机行走者的运动 N 步。在每一步之后,打印随机游走者的位置,将灯柱作为原点 (0, 0)。此外,打印与原点的最终平方距离。

到目前为止,我已经想出了:

import random
x = 0
y = 0
def randomWalk(N):
for i in range (1, (N)):
a = random.randint
if a == 0:
x = x+0
y = y+1
return (x, y)
print (x, y)
if a == 1:
x = x+1
y = y+0
return (x, y)
print (x, y)
if a == 3:
x = x+0
y = y-1
return (x, y)
print (x, y)
if a == 3:
x = x-1
y = y+0
return (x, y)
print (x, y)
print(randomWalk(input()))

但是当我测试这段代码时,我没有得到 None 作为输出。

如果您对此练习有任何帮助,我将不胜感激。

最佳答案

这是一个好的开始。

主要问题是您无法调用 randint :

    a = random.randint

这只是将 a 变成了 random.randint 的别名。相反,它应该是

    a = random.randint(0, 3)

此外,您重复 if a == 3: 两次。

此外,将 xy 设置为零应该在函数内部完成,而不是在外部。

最后,您的循环(顺便说一下,它的一次迭代太短了)实际上并没有像循环一样运行,因为您总是在第一次迭代期间return

附言这是给你的一个小分手谜题。弄清楚以下是如何工作的:

dx, dy = random.choice([(-1, 0), (1, 0), (0, -1), (0, 1)])
x += dx
y += dy

关于Python:酒鬼走路,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26195815/

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