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数据类型详解(四)字典:dict
May 12 Python
Python中is与==判断的区别
Mar 28 Python
python中日志logging模块的性能及多进程详解
Jul 18 Python
Python中如何优雅的合并两个字典(dict)方法示例
Aug 09 Python
Python操作Oracle数据库的简单方法和封装类实例
May 07 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
Apr 25 Python
Python 把序列转换为元组的函数tuple方法
Jun 27 Python
简单了解python中的与或非运算
Sep 18 Python
Pyecharts绘制全球流向图的示例代码
Jan 08 Python
Pandas读取csv时如何设置列名
Jun 02 Python
Python 微信公众号文章爬取的示例代码
Nov 30 Python
Python 多进程原理及实现
Dec 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
Terran兵种介绍
2020/03/14 星际争霸
PHP中的正规表达式(一)
2006/10/09 PHP
PHP会话处理的10个函数
2015/08/11 PHP
php版微信自动登录并获取昵称的方法
2016/09/23 PHP
JavaScript国旗变换效果代码
2008/08/13 Javascript
JavaScript 仿关机效果的图片层
2008/12/26 Javascript
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
全面解析vue中的数据双向绑定
2017/05/10 Javascript
vue-cli单页应用改成多页应用配置详解
2017/07/14 Javascript
Angularjs单选框相关的示例代码
2017/08/17 Javascript
Nodejs实现文件上传的示例代码
2017/09/26 NodeJs
nodejs express配置自签名https服务器的方法
2018/05/22 NodeJs
如何让node运行es6模块文件及其原理详解
2018/12/11 Javascript
JavaScript学习教程之cookie与webstorage
2019/06/23 Javascript
VUE中使用HTTP库Axios方法详解
2020/02/05 Javascript
Vue+Bootstrap收藏(点赞)功能逻辑与具体实现
2020/10/22 Javascript
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python生成器的使用方法
2013/11/21 Python
python实现网站的模拟登录
2016/01/04 Python
Python中规范定义命名空间的一些建议
2016/06/04 Python
python对excel文档去重及求和的实例
2018/04/18 Python
python自动化测试之DDT数据驱动的实现代码
2019/07/23 Python
自适应线性神经网络Adaline的python实现详解
2019/09/30 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
pytorch 多分类问题,计算百分比操作
2020/07/09 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
大学毕业生个人自荐信范文
2014/01/08 职场文书
最经典的商业地产项目广告词
2014/03/13 职场文书
公司授权委托书
2014/04/04 职场文书
工作所在部门证明
2014/09/21 职场文书
2014年置业顾问工作总结
2014/11/17 职场文书
2014年乡镇工会工作总结
2014/12/02 职场文书
2016党校培训心得体会
2016/01/07 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书
优秀员工演讲稿
2019/06/21 职场文书
详解Android中的TimePickerView(时间选择器)的用法
2022/04/30 Java/Android