Python实现随机漫步功能


Posted in Python onJuly 09, 2018

随机漫步生成是无规则的,是系统自行选择的结果。根据设定的规则自定生成,上下左右的方位,每次所经过的方向路径。

首先,创建一个RandomWalk()类和fill_walk()函数

random_walk.py

from random import choice
class Randomwalk ():
  '''一个生成随机数漫步的类'''
  def __init__(self,num_point=5000):
    '''初始化随机漫步的属性'''
    self.num_point = num_point
    #所有随机漫步的开始都是坐标[0,0]
    self.x_lab = [0]
    self.y_lab = [0]
  def fill_walk(self):
    '''计算随机漫步的所有点'''
    while len(self.x_lab) < self.num_point:
      #决定前进方向以及前进的距离
      x_direction = choice([1,-1])
      x_distance = choice([0,1,2,3,4])
      x_step = x_direction * x_distance
      y_direction = choice([1,-1])
      y_distance = choice([0,1,2,3,4])
      y_step = y_direction * y_distance
      #拒绝原地不动
      if x_step == 0 and y_step == 0:
        continue
      #计算下一个点X和Y的值
      next_x = self.x_lab[-1] + x_step
      next_y = self.y_lab[-1] + y_step
      self.x_lab.append(next_x)
      self.y_lab.append(next_y)

2、绘制随机漫步图

rw_visual.py

import matplotlib.pyplot as plt
from random_walk import Randomwalk
from random import choice
rw = Randomwalk()
rw.fill_walk()
plt.scatter(rw.x_lab,rw.y_lab,s=15)
plt.show()

3、生成效果图片

Python实现随机漫步功能

4、修改代码-->隐藏边框

rw_visual.py

import matplotlib.pyplot as plt
from random_walk import Randomwalk
from random import choice
while True:
  rw = Randomwalk()
  rw.fill_walk()
  #设置绘画窗口大小
  plt.figure(dpi=128,figsize=(10,6))
  point_numbers = list(range(rw.num_point))
  #突出起点(0,0)和终点
  plt.scatter(0,0,c='green',edgecolors='none',s=100)
  plt.scatter(rw.x_lab[-1],rw.y_lab[-1],c='red',edgecolors='none',s=100)
  #隐藏坐标轴
  plt.axes().get_xaxis().set_visible(False)
  plt.axes().get_yaxis().set_visible(False)
  plt.scatter(rw.x_lab,rw.y_lab,c=point_numbers,cmap=plt.cm.Blues,edgecolors='none',s=15)
  plt.show()
  keep_running = input("Make another walk?(y/n): ")
  keep_running = keep_running.lower()
  if keep_running == 'n':
    break

5、展示效果

Python实现随机漫步功能

总结

以上所述是小编给大家介绍的Python实现随机漫步功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python模块学习 filecmp 文件比较
Aug 27 Python
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
Mar 19 Python
python递归实现快速排序
Aug 18 Python
浅谈pandas用groupby后对层级索引levels的处理方法
Nov 06 Python
在linux系统下安装python librtmp包的实现方法
Jul 22 Python
Python学习笔记之迭代器和生成器用法实例详解
Aug 08 Python
python支付宝支付示例详解
Aug 22 Python
Python之Numpy的超实用基础详细教程
Oct 23 Python
wxPython窗体拆分布局基础组件
Nov 19 Python
在tensorflow中实现去除不足一个batch的数据
Jan 20 Python
Python实现从N个数中找到最大的K个数
Apr 02 Python
使用jupyter Nodebook查看函数或方法的参数以及使用情况
Apr 14 Python
Python2包含中文报错的解决方法
Jul 09 #Python
对numpy数据写入文件的方法讲解
Jul 09 #Python
可能是最全面的 Python 字符串拼接总结【收藏】
Jul 09 #Python
Tensorflow中的placeholder和feed_dict的使用
Jul 09 #Python
NumPy.npy与pandas DataFrame的实例讲解
Jul 09 #Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
Jul 09 #Python
详解Python的hasattr() getattr() setattr() 函数使用方法
Jul 09 #Python
You might like
第十五节--Zend引擎的发展
2006/11/16 PHP
默默小谈PHP&amp;MYSQL分页原理及实现
2007/01/02 PHP
PHP下通过file_get_contents的代理使用方法
2011/02/16 PHP
C# WinForm中实现快捷键自定义设置实例
2015/01/23 PHP
jQuery 技巧小结
2010/04/02 Javascript
js弹窗代码 可以指定弹出间隔
2010/07/03 Javascript
详解JavaScript的Polymer框架中的通知交互
2015/07/29 Javascript
JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
2015/12/04 Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
2016/05/27 Javascript
JavaScript实现按键精灵的原理分析
2017/02/21 Javascript
JavaScript实现的数字与字符串转换功能示例
2017/08/23 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
2018/08/31 Javascript
layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
2019/09/25 Javascript
vue点击页面空白处实现保存功能
2019/11/06 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
2020/08/13 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
js实现详情页放大镜效果
2020/10/28 Javascript
一起来了解一下JavaScript的预编译(小结)
2021/03/01 Javascript
说一说Python logging
2016/04/15 Python
python paramiko模块学习分享
2017/08/23 Python
Python+selenium 获取浏览器窗口坐标、句柄的方法
2018/10/14 Python
python生成lmdb格式的文件实例
2018/11/08 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
利用Python实现Excel的文件间的数据匹配功能
2020/06/16 Python
Python预测2020高考分数和录取情况
2020/07/08 Python
新西兰便宜隐形眼镜购买网站:QUICKLENS New Zealand
2019/03/02 全球购物
医大实习自我鉴定
2013/12/07 职场文书
大学英语专业求职信
2014/06/21 职场文书
小学捐书活动总结
2014/07/05 职场文书
学校师德师风整改措施
2014/10/27 职场文书
网络营销计划
2015/01/17 职场文书
全陪导游词
2015/02/04 职场文书
运动会加油稿30字
2015/07/21 职场文书
校园运动会广播稿
2015/08/19 职场文书