Python如何实现随机漫步

发布时间:2023-03-07 10:30:25 作者:iii
来源:亿速云 阅读:123

本文小编为大家详细介绍“Python如何实现随机漫步”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何实现随机漫步”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

1.  创建 RandomWalk 类

为模拟随机漫步,首先创建一个名为 RandomWalk  的类,其作用是 随机的选择前进方向。这个类需要三个属性:一个是 存储随机漫步次数的变量,其他两个是 列表,分别存储随机漫步经过的每个点的 x 坐标y 坐标

RandomWalk 类只包含两个方法:

from random import choice
 
class RandomWalk:
    '''一个生成随机漫步数据的类'''
 
    def __init__(self, num_points = 500):
        '''初始化随机漫步的属性'''
 
        self.num_points = num_points
 
        # 所有随机漫步都使于(0,0)
        self.x_values = [0]
        self.y_values = [0]

2.  选择方向 

我们将使用方法 fill_walk() 来生成 漫步包含的点,并 决定每次漫步的方向。 

import random
 
def fill_walk(self):
    '''计算随机漫步包含的所有点'''
 
    # 不断漫步,直到列表达到指定的长度
    while len(self.x_values) < self.num_points:
 
        # 决定前进方向以及沿这个方向前进的距离
        x_direction = random.choice([1,-1])
        x_distance = random.choice([0,1,2,3,4])
        x_step = x_direction * x_distance
 
        y_direction = random.choice([1,-1])
        y_distance = random.choice([0,1,2,3,4])
        y_step = y_direction * y_distance
 
        # 拒绝原地踏步
        if x_step == 0 and y_step == 0:
            continue
 
        # 计算下一个点的 x 值和 y 的值
        x = self.x_values[-1] + x_step
        y = self.y_values[-1] + y_step
 
        self.x_values.append(x)
        self.y_values.append(y)

3.  绘制随机漫步图 

下面的代码将随机漫步的所有点都绘制出来:

from random import choice
import matplotlib.pyplot as plt
 
class RandomWalk:
    '''一个生成随机漫步数据的类'''
 
    def __init__(self, num_points = 5000):
        '''初始化随机漫步的属性'''
 
        self.num_points = num_points
 
        # 所有随机漫步都使于(0,0)
        self.x_values = [0]
        self.y_values = [0]
 
    def fill_walk(self):
        '''计算随机漫步包含所有的点'''
 
        # 不断漫步,直到列表达到指定的长度
        while len(self.x_values) < self.num_points:
 
            # 决定前进的方向以及沿着这个方向前进的距离
            x_direction = choice([1,-1])
            x_distance = choice([0,1,2,3,4])
            x_step = x_direction * x_distance
 
            y_direction = choice([1,-1])
            y_distance = choice([0,1,2,3,4])
            y_step = y_direction * y_distance
 
            # 拒绝原地踏步
            if x_step == 0 and y_step == 0:
                continue
 
            # 计算下一个点的 x 值和 y 值
            x = self.x_values[-1] + x_step
            y = self.y_values[-1] + y_step
 
            self.x_values.append(x)
            self.y_values.append(y)
 
# 创建一个 RandomWalk 实例
random_wander = RandomWalk()
random_wander.fill_walk()
 
# 将所有的点都绘制出来
plt.style.use('classic')
(fig,ax) = plt.subplots()
ax.scatter(random_wander.x_values, random_wander.y_values, s = 15)
plt.show()

Python如何实现随机漫步

Python如何实现随机漫步

Python如何实现随机漫步

读到这里,这篇“Python如何实现随机漫步”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. 详解Python:面向对象编程
  2. 5款Python程序员高频使用开发工具推荐

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:Grep的多次管道过滤问题如何解决

下一篇:使用kafka-console-consumer.sh不停报WARN如何解决

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》