python实现随机漫步算法


Posted in Python onAugust 27, 2018

本文实例为大家分享了python实现随机漫步的具体代码,供大家参考,具体内容如下

编写randomwalk类

from random import choice

class randomwalk():

  def __init__(self,num_points=5000):

    self.num_points=num_points


    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,5])
      x_step=x_direction*x_distance
      y_direction=choice([1,-1])
      y_distance=choice([0,1,2,3,4,5])
      y_step=y_direction*y_distance

      if x_step==0 and y_step==0:
        continue

      self.x_values.append(self.x_values[-1]+x_step)
      self.y_values.append(self.y_values[-1]+y_step)

choice([1,-1])*步数巧妙的完成了随机方向,x轴随机加y轴随机使得4个方向的随机漫步得以完成

显示随机漫步点

import matplotlib.pyplot as plt
from random_walk import randomwalk


while True:
  rw=randomwalk()
  rw.fill_walk()
  plt.figure(figsize=(15,8))
  point_numbers=list(range(rw.num_points))

  plt.scatter(rw.x_values,rw.y_values,s=1,c=point_numbers,
  edgecolor='none',cmap=plt.cm.Blues)

  plt.scatter(rw.x_values[0],rw.y_values[0],s=50,edgecolor='none',
  c='green')

  plt.scatter(rw.x_values[-1],rw.y_values[-1],s=50,edgecolor='none',
  c='green')

  plt.show()

  a=input("do you want to walk again?(y/n)")
  if a=='n':
    break

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用递归解决全排列数字示例
Feb 11 Python
Python实现HTTP协议下的文件下载方法总结
Apr 20 Python
pycharm中连接mysql数据库的步骤详解
May 02 Python
shell命令行,一键创建 python 模板文件脚本方法
Mar 20 Python
python 列表删除所有指定元素的方法
Apr 19 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
Apr 20 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
Jul 13 Python
Python3中urlencode和urldecode的用法详解
Jul 23 Python
如何使用python3获取当前路径及os.path.dirname的使用
Dec 13 Python
PyCharm第一次安装及使用教程
Jan 08 Python
Python imutils 填充图片周边为黑色的实现
Jan 19 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
Mar 25 Python
Python3随机漫步生成数据并绘制
Aug 27 #Python
python如何生成各种随机分布图
Aug 27 #Python
python随机数分布random测试
Aug 27 #Python
pycharm安装和首次使用教程
Aug 27 #Python
Windows下PyCharm安装图文教程
Aug 27 #Python
python 3.7.0 安装配置方法图文教程
Aug 27 #Python
python 3.7.0 下pillow安装方法
Aug 27 #Python
You might like
重新封装zend_soap实现http连接安全认证的php代码
2011/01/12 PHP
几种有用的变型 PHP中循环语句的用法介绍
2012/01/30 PHP
ajax在joomla中的原生态应用代码
2012/07/19 PHP
解析php中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
PHP 实现判断用户是否手机访问
2015/01/21 PHP
WordPress 插件——CoolCode使用方法与下载
2007/07/02 Javascript
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
JavaScript将Web页面内容导出到Word及Excel的方法
2015/02/13 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
jQuery实现一个简单的轮播图
2017/02/19 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
2017/04/20 Javascript
超级简易的JS计算器实例讲解(实现加减乘除)
2017/08/08 Javascript
Node.Js生成比特币地址代码解析
2018/04/21 Javascript
layui 实现加载动画以及非真实加载进度的方法
2019/09/23 Javascript
浅析我对JS延迟异步脚本的思考
2020/10/12 Javascript
8个非常实用的Vue自定义指令
2020/12/15 Vue.js
[01:04:30]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python检测远程服务器tcp端口的方法
2015/03/14 Python
python脚本设置超时机制系统时间的方法
2016/02/21 Python
Python运算符重载详解及实例代码
2017/03/07 Python
在Python中给Nan值更改为0的方法
2018/10/30 Python
Python根据欧拉角求旋转矩阵的实例
2019/01/28 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
python opencv 简单阈值算法的实现
2019/08/04 Python
使用Rasterio读取栅格数据的实例讲解
2019/11/26 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
多个版本的python共存时使用pip的正确做法
2020/10/26 Python
英国露营设备和户外服装购物网站:Simply Hike
2019/05/05 全球购物
法国隐形眼镜网站:VisionDirect.fr
2020/03/03 全球购物
【魔兽争霸3重制版】原版画面与淬火MOD画面对比
2021/03/26 魔兽争霸
消防工作实施方案
2014/06/09 职场文书
国际贸易实务实训报告
2014/11/05 职场文书
2014年超市工作总结
2014/11/19 职场文书
《狮子和鹿》教学反思
2016/02/16 职场文书
《抽屉原理》教学反思
2016/02/20 职场文书
实现AJAX异步调用和局部刷新的基本步骤
2022/03/17 Javascript