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类定义和类继承详解
May 08 Python
Python中super关键字用法实例分析
May 28 Python
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
Jan 12 Python
PyQT实现多窗口切换
Apr 20 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
Jun 26 Python
linux安装Python3.4.2的操作方法
Sep 28 Python
Python绘图Matplotlib之坐标轴及刻度总结
Jun 28 Python
Python 读取串口数据,动态绘图的示例
Jul 02 Python
python采集百度搜索结果带有特定URL的链接代码实例
Aug 30 Python
PyCharm更改字体和界面样式的方法步骤
Sep 27 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
Apr 13 Python
python 元组的使用方法
Jun 09 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
PHP经典的给图片加水印程序
2006/12/06 PHP
Mac环境下php操作mysql数据库的方法分享
2015/05/11 PHP
php array_map使用自定义的函数处理数组中的每个值
2016/10/26 PHP
PHP封装的分页类与简单用法示例
2019/02/25 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
ie 调试javascript的工具
2009/04/29 Javascript
一个简单的jQuery插件制作 学习过程及实例
2010/04/25 Javascript
javascript模拟post提交隐藏地址栏的参数
2014/09/03 Javascript
原生js实现日期联动
2015/01/12 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
jQuery EasyUI封装简化操作
2016/09/18 Javascript
Javascript实现汉字和拼音互转的终极方案
2016/10/19 Javascript
JS基于正则截取替换特定字符之间字符串操作示例
2017/02/03 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
vue-cli构建项目下使用微信分享功能
2018/05/28 Javascript
JavaScript插入排序算法原理与实现方法示例
2018/08/06 Javascript
基于vue框架手写一个notify插件实现通知功能的方法
2019/03/31 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
微信小程序在text文本实现多种字体样式
2019/11/08 Javascript
[02:27]刀塔重生降临
2015/10/14 DOTA
[03:41]DOTA2上海特锦赛小组赛第三日recap精彩回顾
2016/02/28 DOTA
python数组复制拷贝的实现方法
2015/06/09 Python
python读取二进制mnist实例详解
2017/05/31 Python
Python初学时购物车程序练习实例(推荐)
2017/08/08 Python
python实现图书馆研习室自动预约功能
2018/04/27 Python
python实现吃苹果小游戏
2020/03/21 Python
戴森台湾线上商城:Dyson Taiwan
2018/05/21 全球购物
巴西箱包、背包、钱包和旅行配件购物网站:Inovathi
2019/12/14 全球购物
澳大利亚家居用品零售商:Harris Scarfe
2020/10/10 全球购物
好的演讲稿开场白
2013/12/30 职场文书
小孩百日宴答谢词
2014/01/15 职场文书
工作说明书格式
2014/07/29 职场文书
《曹冲称象》教学反思
2016/02/20 职场文书
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python