python勾股定理_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)。

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

0df3d7ca7bcb0a462fd483760bc63f216a60af32.jpeg?token=530b8d7d7428194a5940cf7384e3059d&s=E150E03B1B524C4F4E6D25DA000080B2

说明: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. "

代码如下:

9f2f070828381f30a23c1e48c9a4850d6f06f051.jpeg?token=3e64af1fc82ebbc148a26b2fea2496dd&s=4118E433910EC54D0C7580DA0000C0B1

运行结果:

42166d224f4a20a4bf51046afbf75127730ed07f.jpeg?token=7214289ca557a8861aa3e01866d31f73&s=E540F412912ED0EC54F521DA0000C0B2

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

我是时问新,欢迎关注我。跟我一起从零开始学习Python,每天花一点时间,开启python编程新世界的大门,领略新的风光,让人生多一种可能!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值