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 获取进程pid号的方法
Mar 10 Python
Python中的map()函数和reduce()函数的用法
Apr 27 Python
深入理解python中的select模块
Apr 23 Python
读取本地json文件,解析json(实例讲解)
Dec 06 Python
Python错误处理操作示例
Jul 18 Python
python+Splinter实现12306抢票功能
Sep 25 Python
python通过tcp发送xml报文的方法
Dec 28 Python
利用anaconda保证64位和32位的python共存
Mar 09 Python
Pytorch Tensor的索引与切片例子
Aug 18 Python
python lambda表达式在sort函数中的使用详解
Aug 28 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
Feb 20 Python
Python matplotlib绘制条形统计图 处理多个实验多组观测值
Apr 21 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面向对象全攻略 (十二) 抽象方法和抽象类
2009/09/30 PHP
php5.3中连接sqlserver2000的两种方法(com与ODBC)
2012/12/29 PHP
php实现按照权重随机排序数据的方法
2015/01/09 PHP
javascript延时加载之defer测试
2012/12/28 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
jQuery学习笔记之2个小技巧
2015/01/19 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
深入解析JavaScript中函数的Currying柯里化
2016/03/19 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
vue从使用到源码实现教程详解
2016/09/19 Javascript
手机端实现Bootstrap简单图片轮播效果
2016/10/13 Javascript
详解Vue.js动态绑定class
2016/12/20 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
详解webpack和webpack-simple中如何引入css文件
2017/06/28 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
浅谈angular4 ng-content 中隐藏的内容
2017/08/18 Javascript
JS实现合并json对象的方法
2017/10/10 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
element-ui中的select下拉列表设置默认值方法
2018/08/24 Javascript
在Python的Bottle框架中使用微信API的示例
2015/04/23 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
2018/05/10 Python
python控制windows剪贴板,向剪贴板中写入图片的实例
2018/05/31 Python
python3.6+django2.0+mysql搭建网站过程详解
2019/07/24 Python
windows 10 设定计划任务自动执行 python 脚本的方法
2019/09/11 Python
numpy的Fancy Indexing和array比较详解
2020/06/11 Python
英国快时尚女装购物网站:PrettyLittleThing
2018/08/15 全球购物
SQL面试题
2013/12/09 面试题
职高毕业生自我鉴定
2013/10/21 职场文书
服装设计专业自荐书范文
2013/12/30 职场文书
女方婚礼新郎答谢词
2014/01/11 职场文书
珍惜时间演讲稿
2014/05/14 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
2015年语文教学工作总结
2015/05/25 职场文书
如何开发一个渐进式Web应用程序PWA
2021/05/10 Javascript
Nginx配置之实现多台服务器负载均衡
2021/08/02 Servers
Java中Quartz高可用定时任务快速入门
2022/04/03 Java/Android