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和Linux系统上的错误
Dec 12 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
Jan 22 Python
Numpy数据类型转换astype,dtype的方法
Jun 09 Python
python画柱状图--不同颜色并显示数值的方法
Dec 13 Python
django模板加载静态文件的方法步骤
Mar 01 Python
Python语法分析之字符串格式化
Jun 13 Python
利用Python进行图像的加法,图像混合(附代码)
Jul 14 Python
Python中PyQt5/PySide2的按钮控件使用实例
Aug 17 Python
pycharm部署、配置anaconda环境的教程
Mar 24 Python
在python下实现word2vec词向量训练与加载实例
Jun 09 Python
keras.layer.input()用法说明
Jun 16 Python
Django admin组件的使用
Oct 24 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生成缩略图的函数代码(修改版)
2011/01/18 PHP
php中将网址转换为超链接的函数
2011/09/02 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
php采集内容中带有图片地址的远程图片并保存的方法
2015/01/03 PHP
MySql数据库查询结果用表格输出PHP代码示例
2015/03/20 PHP
php文件读取方法实例分析
2015/06/20 PHP
thinkPHP框架实现的无限回复评论功能示例
2018/06/09 PHP
浅谈PHP array_search 和 in_array 函数效率问题
2019/10/15 PHP
实例化php类时传参的方法分析
2020/06/05 PHP
判断是否安装flash player及当前版本的JS代码
2013/08/08 Javascript
JavaScript代码简单实现求杨辉三角给定行的最大值
2013/10/29 Javascript
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
TypeScript 中接口详解
2015/06/19 Javascript
JavaScript模拟push
2016/03/06 Javascript
jQuery使用正则表达式限制文本框只能输入数字
2016/06/18 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
2017/03/14 Javascript
基于Node.js模板引擎教程-jade速学与实战1
2017/09/17 Javascript
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
2018/04/26 jQuery
Vue.js的动态组件模板的实现
2018/11/26 Javascript
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
详解element-ui动态限定的日期范围选择器代码片段
2020/07/03 Javascript
Python装饰器decorator用法实例
2014/11/10 Python
深入源码解析Python中的对象与类型
2015/12/11 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
实用求职信范文分享
2013/12/25 职场文书
会计学生自我鉴定
2014/02/06 职场文书
古汉语文学求职信范文
2014/03/16 职场文书
空气环保标语
2014/06/12 职场文书
音乐教师求职信
2014/06/28 职场文书
员工2014年度工作总结
2014/12/09 职场文书
义诊活动通知
2015/04/24 职场文书
时尚女魔头观后感
2015/06/04 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书
vue实现登陆页面开发实践
2022/05/30 Vue.js
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS