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 相关文章推荐
在Mac OS系统上安装Python的Pillow库的教程
Nov 20 Python
Python编程使用tkinter模块实现计算器软件完整代码示例
Nov 29 Python
python设置值及NaN值处理方法
Jul 03 Python
Python分割指定页数的pdf文件方法
Oct 26 Python
Tensorflow分类器项目自定义数据读入的实现
Feb 05 Python
python flask安装和命令详解
Apr 02 Python
python函数的万能参数传参详解
Jul 26 Python
python切片(获取一个子列表(数组))详解
Aug 09 Python
python 中xpath爬虫实例详解
Aug 26 Python
PYTHON如何读取和写入EXCEL里面的数据
Oct 28 Python
如何使用python进行pdf文件分割
Nov 11 Python
pytorch实现ResNet结构的实例代码
May 17 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
php简单封装了一些常用JS操作
2007/02/25 PHP
php 常用类整理
2009/12/23 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
2019/05/09 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
关于javascript DOM事件模型的两件事
2010/07/22 Javascript
使用apply方法实现javascript中的对象继承
2013/12/16 Javascript
常用jQuery选择器总结
2014/07/11 Javascript
跟我学习javascript解决异步编程异常方案
2015/11/23 Javascript
JS选取DOM元素的简单方法
2016/07/08 Javascript
JavaScript实现公历转农历功能示例
2017/02/13 Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
2017/10/15 Javascript
Angular 4中如何显示内容的CSS样式示例代码
2017/11/06 Javascript
JavaScript实现修改伪类样式
2017/11/27 Javascript
详解关于微信setData回调函数中的坑
2019/02/18 Javascript
JS正则表达式封装与使用操作示例
2019/05/15 Javascript
React中Ref 的使用方法详解
2020/04/28 Javascript
[04:48]DOTA2上海特锦赛小组赛第三日 TOP10精彩集锦
2016/02/28 DOTA
[02:47]2018年度DOTA2最佳辅助位选手4号位-完美盛典
2018/12/17 DOTA
django输出html内容的实例
2018/05/27 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
Python基本语法之运算符功能与用法详解
2019/10/22 Python
Python FtpLib模块应用操作详解
2019/12/12 Python
Python新手如何理解循环加载模块
2020/05/29 Python
Python通过kerberos安全认证操作kafka方式
2020/06/06 Python
安装python依赖包psycopg2来调用postgresql的操作
2021/01/01 Python
前端使用canvas生成盲水印的加密解密的实现
2020/12/16 HTML / CSS
新闻专业应届生求职信
2013/10/31 职场文书
实习生的自我鉴定范文欣赏
2013/11/20 职场文书
就业自荐信
2013/12/04 职场文书
毕业生的自我评价范文
2013/12/31 职场文书
大学生学习党课思想汇报
2014/01/03 职场文书
点菜员岗位职责范本
2014/02/14 职场文书
2014年除四害工作总结
2014/12/06 职场文书
五好家庭申报材料
2014/12/20 职场文书
陪护人员误工证明
2015/06/24 职场文书