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 相关文章推荐
Flask SQLAlchemy一对一,一对多的使用方法实践
Feb 10 Python
在Django框架中编写Context处理器的方法
Jul 20 Python
Python排序搜索基本算法之冒泡排序实例分析
Dec 09 Python
python的Crypto模块实现AES加密实例代码
Jan 22 Python
PyGame贪吃蛇的实现代码示例
Nov 21 Python
python实现杨氏矩阵查找
Mar 02 Python
python3.4+pycharm 环境安装及使用方法
Jun 13 Python
在交互式环境中执行Python程序过程详解
Jul 12 Python
Python内置数据类型list各方法的性能测试过程解析
Jan 07 Python
学习Python列表的基础知识汇总
Mar 10 Python
python爬虫分布式获取数据的实例方法
Nov 26 Python
matplotlib之pyplot模块之标题(title()和suptitle())
Feb 22 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
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
2014/05/05 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
php实现支付宝当面付(扫码支付)功能
2018/05/30 PHP
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
2009/04/24 Javascript
Ext grid 添加右击菜单
2009/11/26 Javascript
Jquery公告滚动+AJAX后台得到数据
2011/04/14 Javascript
JS this作用域以及GET传输值过长的问题解决方法
2013/08/06 Javascript
node.js中的http.response.end方法使用说明
2014/12/14 Javascript
jQuery中:last-child选择器用法实例
2014/12/31 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
js实现类似于add(1)(2)(3)调用方式的方法
2015/03/04 Javascript
BootStrap中Table分页插件使用详解
2016/10/09 Javascript
js实现可旋转的立方体模型
2016/10/16 Javascript
three.js中3D视野的缩放实现代码
2017/11/16 Javascript
原生JS实现的轮播图功能详解
2018/08/06 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
[06:10]6.81新信使新套装!给你一个炫酷的DOTA2
2014/05/06 DOTA
[01:00]选手抵达华西村 整装待发备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
使用Python抓取豆瓣影评数据的方法
2018/10/17 Python
PyQt编程之如何在屏幕中央显示窗体的实例
2019/06/18 Python
python实现windows倒计时锁屏功能
2019/07/30 Python
python使用sessions模拟登录淘宝的方式
2019/08/16 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
python实现的config文件读写功能示例
2019/09/24 Python
Python基于pygame实现单机版五子棋对战
2019/12/26 Python
python数据类型可变不可变知识点总结
2020/03/06 Python
django 多数据库及分库实现方式
2020/04/01 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
5分钟实现Canvas鼠标跟随动画背景
2019/11/18 HTML / CSS
销售顾问岗位职责
2014/02/25 职场文书
社区文化建设方案
2014/05/02 职场文书
请学会珍惜眼前,因为人生没有下辈子!
2019/11/12 职场文书
PHP基本语法
2021/03/31 PHP