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(一)Python环境安装
Aug 20 Python
初步探究Python程序的执行原理
Apr 11 Python
python 实现删除文件或文件夹实例详解
Dec 04 Python
Python爬虫实战:分析《战狼2》豆瓣影评
Mar 26 Python
Django 静态文件配置过程详解
Jul 23 Python
docker django无法访问redis容器的解决方法
Aug 21 Python
Python 字符串类型列表转换成真正列表类型过程解析
Aug 26 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
Aug 27 Python
Django REST framework 单元测试实例解析
Nov 07 Python
简单了解Pandas缺失值处理方法
Nov 16 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
Feb 24 Python
python语言中pandas字符串分割str.split()函数
Aug 05 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 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
php 进度条实现代码
2009/03/10 PHP
php数组函数序列之in_array() - 查找数组中是否存在指定值
2011/11/07 PHP
php基于单例模式封装mysql类完整实例
2016/10/18 PHP
php插入含有特殊符号数据的处理方法
2016/11/24 PHP
Laravel中unique和exists验证规则的优化详解
2018/01/28 PHP
jQuery 判断元素上是否绑定了事件
2009/10/28 Javascript
Chrome中模态对话框showModalDialog返回值问题的解决方法
2010/05/25 Javascript
非主流的textarea自增长实现js代码
2011/12/20 Javascript
js实现固定显示区域内自动缩放图片的方法
2015/07/18 Javascript
js 判断各种数据类型的简单方法(推荐)
2016/08/29 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
2016/08/31 Javascript
为Jquery EasyUI 组件加上清除功能的方法(详解)
2017/04/13 jQuery
angularJs-$http实现百度搜索时的动态下拉框示例
2018/02/27 Javascript
解决Vue打包之后文件路径出错的问题
2018/03/06 Javascript
Mac下通过brew安装指定版本的nodejs教程
2018/05/17 NodeJs
Node.js笔记之process模块解读
2018/05/31 Javascript
jquery实现垂直无限轮播的方法分析
2019/07/16 jQuery
JS PHP字符串截取函数实现原理解析
2020/08/29 Javascript
Python3实现Web网页图片下载
2016/01/28 Python
Python采用Django制作简易的知乎日报API
2016/08/03 Python
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
2018/01/09 Python
django 发送手机验证码的示例代码
2018/04/25 Python
python爬虫超时的处理的实例
2018/12/19 Python
浅谈Python反射 &amp; 单例模式
2019/03/21 Python
详解python中的生成器、迭代器、闭包、装饰器
2019/08/22 Python
Python使用Chrome插件实现爬虫过程图解
2020/06/09 Python
详解HTML5新增标签
2017/11/27 HTML / CSS
英国电信商店:BT Shop
2019/12/17 全球购物
劲霸男装广告词
2014/03/21 职场文书
四风问题班子对照检查材料
2014/09/27 职场文书
终止劳动合同通知书
2015/04/16 职场文书
医学生自荐信范文(2016精选篇)
2016/01/28 职场文书
nginx配置proxy_pass中url末尾带/与不带/的区别详解
2021/03/31 Servers
详解MySQL多版本并发控制机制(MVCC)源码
2021/06/23 MySQL
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS