随机漫步python程序
作为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程序相关推荐
- 【Matplotlib】【Python】如何使用matplotlib绘制绘制随机生成的点--随机漫步详解
目录 1.绘制随机漫步 2.模拟多次随机漫步 3.给点着色 4.重新绘制起点和终点 5.隐藏坐标轴 随机漫步是指每次行走都完全是随机的,没有明确的方向,结果是由一系列随机决策决定的. 为模拟随机漫步, ...
- 自回避随机行走问题 c语言,醉汉随机行走/随机漫步问题(Random Walk Randomized Algorithm Python)...
世界上有些问题看似是随机的(stochastic),没有规律可循,但很可能是人类还未发现和掌握这类事件的规律,所以说它们是随机发生的. 随机漫步(Random Walk)是一种解决随机问题的方法,它 ...
- 手把手讲解python在随机漫步理论的应用
随机漫步理论–python手把手讲解 随机漫步理论是由Karl Pearson 于1905年提出的,它是一种变化形式,在运动过程中每一步都是随机,没有明确的方向.这个在自然界.物理学.生物学.化学和经 ...
- Python模拟随机漫步
本文用Python模拟随机漫步行为. 1 使用内建的的random模块 import randomposition = 0 walk = [position] steps = 1000 for i i ...
- Python中使用random随机函数与Matplotlib库绘制随机漫步图
Python中使用random随机函数与Matplotlib库绘制随机漫步图 一.概述 随机现象在我们的生活中并不少见,我们常见的一次抛硬币的正反面,股票的走势等等,都是随机事件.这些不确定性事件给我 ...
- Python wxpython篇 | Python生态库之图形用户界面开发库 “wxPython “ 的安装及使用(附. 使用pyinstaller 库打包Python随机点名小程序程序.exe文件)
全文目录 wxPython 图形用户界面 PyCharm 中安装 wxPython库 PyCharm中将程序打包成 .exe 可执行文件 wxPython 的使用 第一个wxPython 程序 自定义 ...
- 股票价格在随机漫步吗?用 Python 来告诉你
1. 什么是随机漫步 在这个世界上存在的现象大体分为必然现象和随机现象两类.必然现象就像太阳每天必然从东边升起,西边落下那样,在相同条件下完全可以事先预测到它的结果.随机现象则不同,它在个别试验中会呈 ...
- 【Python】随机漫步
欢迎来到博主 Apeiron 的博客,祝您旅程愉快 !时止则止,时行则行.动静不失其时,其道光明. 目录 1.缘起 2.创建 RandomWalk 类 3.随机选择方向 4.绘制随机漫步图 5.总结 ...
- python 活动随机抽奖小程序 简单直白
开始学习python相关知识,看最近有不少随机抽奖小程序,自己也做一个试试 思路: 建立一个抽奖人名单,可以打乱后直接按顺序取,也可以不打乱随机抽. 建立一个奖项名单,按顺序一个一个抽 将随机化成顺序 ...
- 蒙特卡罗仿真(2):醉汉的随机漫步仿真示例(Python实现)
目录 1. 前言 2. 为什么要做蒙特卡罗仿真? 3. 第一个仿真程序 4. 仿真封装及批量仿真 5. 醉汉能回家吗? 1. 前言 上一篇(蒙特卡罗仿真(1):入门求生指南(Python实例))通过几 ...
最新文章
- Ubuntu中重启ssh服务时提示:Job for ssh.service failed because the control process exited with error code. See
- 【Linux网络编程】浅谈 C/S 和 B/S 架构
- Web应用安全--攻防对抗发展趋势
- 解决小程序图片在开发者工具能显示,测试时真机不显示问题
- Bailian4147 汉诺塔问题(Hanoi)
- oracle数据库服务器c盘满,Oracle数据库服务器磁盘满导致数据库无法登陆,通过清理归档文件解决...
- StringJoiner
- chrome 开启HEVC硬件解码
- pads 2007 安装完成后, 出现 no license 的解决方法
- Spring Boot + OAuth2 统一认证SSO单点登录
- android 在app内打开淘宝链接
- mysql neq什么意思_【知识科普】标准中的Eqv、Idt和Neq分别代表什么?
- 库存流水账计算结余数量
- 信息服务器v6,服务器ipv6设置
- and5.1PowerManagerService深入分析(三)updatePowerStateLocked函数
- MacBook Pro使用记录(一):手动清理内存
- springboot基于微信小程序的宿舍管理系统
- PCB设计新手入门须知
- Mybatis源码基础解析
- 关于程序员日常接单之淘宝运营
热门文章
- 微信小程序快递物流信息跟踪查询api接口对接快递鸟案例
- python入门基础知识(一)print
- python的print函数中file_python3之print()函数
- m分别使用ESN网络,ESN+RBF神经网络以及ESN+Volterra网络进行数据预测对比仿真
- 零信任兴起:从理念到实践
- android 自定义数字键盘
- 微型计算机主装箱中装有哪些,微型计算机及接口技术2016年10月真题试题(04732)...
- 搭建java环境和java学习
- 办公室计算机打印机共享,如何将办公室的所有电脑共享一个打印机???
- php禁止贪婪,PHP正则表达式核心技术完全详解 第11节 贪婪匹配与禁止贪婪