作为python初学者,随机漫步必然是不可缺少的程序学习,以下是我的随机漫步程序,python3.6以下可能会运行有误,仅供参考。

首先,我们需要先设定一个random_walk程序,设定随机漫步所需的属性,并将该程序保存为库以供使用,代码如下:

from random import choice
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])#选择1向右走,选择-1向左走x_distance = choice([0,1,2,3,4])#选择前进距离x_step = x_direction * x_distancey_direction = choice([1, -1])#选择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#将x_values的最后一个值与x_step相加y = self.y_values[-1] + y_stepself.x_values.append(x)self.y_values.append(y)

再以上代码的基础上,我们可以设置自己的随机漫步程序

import matplotlib.pyplot as plt
from random_walk import RandomWalk
rw =RandomWalk()#引用random_waik库中的类
rw.fill_walk()
"""绘制所有点"""
plt.style.use('classic')
fig,ax = plt.subplots(figsize=(15,9))
point_numbers = range(rw.num_points)
ax.scatter(rw.x_values,rw.y_values,c=point_numbers,cmap=plt.cm.Blues,edgecolors='none',s=15)
ax.scatter(0,0,c='green',edgecolors='none',s=50)
ax.scatter(rw.x_values[-1],rw.y_values[-1],c='red',edgecolors='none',s=50)
plt.show()

运行后的结果如下:

随机漫步python程序相关推荐

  1. 【Matplotlib】【Python】如何使用matplotlib绘制绘制随机生成的点--随机漫步详解

    目录 1.绘制随机漫步 2.模拟多次随机漫步 3.给点着色 4.重新绘制起点和终点 5.隐藏坐标轴 随机漫步是指每次行走都完全是随机的,没有明确的方向,结果是由一系列随机决策决定的. 为模拟随机漫步, ...

  2. 自回避随机行走问题 c语言,醉汉随机行走/随机漫步问题(Random Walk Randomized Algorithm Python)...

    世界上有些问题看似是随机的(stochastic),没有规律可循,但很可能是人类还未发现和掌握这类事件的规律,所以说它们是随机发生的. 随机漫步(Random  Walk)是一种解决随机问题的方法,它 ...

  3. 手把手讲解python在随机漫步理论的应用

    随机漫步理论–python手把手讲解 随机漫步理论是由Karl Pearson 于1905年提出的,它是一种变化形式,在运动过程中每一步都是随机,没有明确的方向.这个在自然界.物理学.生物学.化学和经 ...

  4. Python模拟随机漫步

    本文用Python模拟随机漫步行为. 1 使用内建的的random模块 import randomposition = 0 walk = [position] steps = 1000 for i i ...

  5. Python中使用random随机函数与Matplotlib库绘制随机漫步图

    Python中使用random随机函数与Matplotlib库绘制随机漫步图 一.概述 随机现象在我们的生活中并不少见,我们常见的一次抛硬币的正反面,股票的走势等等,都是随机事件.这些不确定性事件给我 ...

  6. Python wxpython篇 | Python生态库之图形用户界面开发库 “wxPython “ 的安装及使用(附. 使用pyinstaller 库打包Python随机点名小程序程序.exe文件)

    全文目录 wxPython 图形用户界面 PyCharm 中安装 wxPython库 PyCharm中将程序打包成 .exe 可执行文件 wxPython 的使用 第一个wxPython 程序 自定义 ...

  7. 股票价格在随机漫步吗?用 Python 来告诉你

    1. 什么是随机漫步 在这个世界上存在的现象大体分为必然现象和随机现象两类.必然现象就像太阳每天必然从东边升起,西边落下那样,在相同条件下完全可以事先预测到它的结果.随机现象则不同,它在个别试验中会呈 ...

  8. 【Python】随机漫步

    欢迎来到博主 Apeiron 的博客,祝您旅程愉快 !时止则止,时行则行.动静不失其时,其道光明. 目录 1.缘起 2.创建 RandomWalk 类 3.随机选择方向 4.绘制随机漫步图 5.总结 ...

  9. python 活动随机抽奖小程序 简单直白

    开始学习python相关知识,看最近有不少随机抽奖小程序,自己也做一个试试 思路: 建立一个抽奖人名单,可以打乱后直接按顺序取,也可以不打乱随机抽. 建立一个奖项名单,按顺序一个一个抽 将随机化成顺序 ...

  10. 蒙特卡罗仿真(2):醉汉的随机漫步仿真示例(Python实现)

    目录 1. 前言 2. 为什么要做蒙特卡罗仿真? 3. 第一个仿真程序 4. 仿真封装及批量仿真 5. 醉汉能回家吗? 1. 前言 上一篇(蒙特卡罗仿真(1):入门求生指南(Python实例))通过几 ...

最新文章

  1. Ubuntu中重启ssh服务时提示:Job for ssh.service failed because the control process exited with error code. See
  2. 【Linux网络编程】浅谈 C/S 和 B/S 架构
  3. Web应用安全--攻防对抗发展趋势
  4. 解决小程序图片在开发者工具能显示,测试时真机不显示问题
  5. Bailian4147 汉诺塔问题(Hanoi)
  6. oracle数据库服务器c盘满,Oracle数据库服务器磁盘满导致数据库无法登陆,通过清理归档文件解决...
  7. StringJoiner
  8. chrome 开启HEVC硬件解码
  9. pads 2007 安装完成后, 出现 no license 的解决方法
  10. Spring Boot + OAuth2 统一认证SSO单点登录
  11. android 在app内打开淘宝链接
  12. mysql neq什么意思_【知识科普】标准中的Eqv、Idt和Neq分别代表什么?
  13. 库存流水账计算结余数量
  14. 信息服务器v6,服务器ipv6设置
  15. and5.1PowerManagerService深入分析(三)updatePowerStateLocked函数
  16. MacBook Pro使用记录(一):手动清理内存
  17. springboot基于微信小程序的宿舍管理系统
  18. PCB设计新手入门须知
  19. Mybatis源码基础解析
  20. 关于程序员日常接单之淘宝运营

热门文章

  1. 微信小程序快递物流信息跟踪查询api接口对接快递鸟案例
  2. python入门基础知识(一)print
  3. python的print函数中file_python3之print()函数
  4. m分别使用ESN网络,ESN+RBF神经网络以及ESN+Volterra网络进行数据预测对比仿真
  5. 零信任兴起:从理念到实践
  6. android 自定义数字键盘
  7. 微型计算机主装箱中装有哪些,微型计算机及接口技术2016年10月真题试题(04732)...
  8. 搭建java环境和java学习
  9. 办公室计算机打印机共享,如何将办公室的所有电脑共享一个打印机???
  10. php禁止贪婪,PHP正则表达式核心技术完全详解 第11节 贪婪匹配与禁止贪婪