打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python学习第128课——在Python中实现醉汉随机游走

【每天几分钟,从零入门python编程的世界!】

这节我们在2D平面内实现随机游走。我们先把原理搞清楚,用代码实现这个原理。

原理分析:

我们想像在2D平面内有一个x轴和y轴组成的坐标系,有一个人他是个醉汉,他以(0,0)为原点,随机游走,以x和y表示游走后的坐标值,刚开始x=0,y=0。他每走一步之前,都需要先做一次选择,选择往东南西北哪一个方向去走,这个选择我们需要先引入一个random库,这是一个可以用来实现随机数、随机选择的库,用这个库来实现随机方向的选择。东西南北我们分别用E、W、S、N这四个字母表示。选择的结果我们用step这个变量保存。做出选择之后他就会按照选择的方向走一步,根据地理上北下南左西右东的原则,往东走一步就是x+1,往西走一步就是x-1,往南走一步就是y-1,往北走一步就是y+1。假如说这个醉汉连续走n步然后停一下,我们把这个过程看做一次随机游走,用一个函数来表示为--random_walk(n)。

这个表示随机游走的函数的代码如下:

说明:choice()函数是random库自带的函数,它的参数是一个列表,这个函数的作用是从列表中进行选择元素。

假设现在我们模拟这个醉汉完成10次随机游走,然后计算他最终的位置到原点的距离。应该怎么做呢?

我们可以用勾股定理,因为原点是(0,0),所以最终的位置到原点的距离就是x的平方加y的平方开根号。

在这里我们先不开根号,暂时就用x的平方加y的平方的结果,可以大概估算随机游走后的最终位置到原点的距离。

现在我们模拟这样一个过程:就是假设这个醉汉连续走50步,算作完成一次随机游走,我们让他做30次随机游走,每完成一次游走看看他到原点的距离是多少,如果大于100,就输出'It's too far away from home,I'm taking a taxi',如果小于100,就输出'I'm walking home. '

代码如下:

运行结果:

以上就是在Python中用代码实现醉汉随机游走的过程。关于过程和原理,代码中有注释,很容易理解。

著作权归作者所有
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Python编程一定要注意的那些“坑”(七)
这款基于ChatGPT4的开发工具,程序猿要小心了!
python chr()
从scratch到python——猜数游戏
Python相关面试问题整理
python自学教程(三)函数与模块
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服