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 Web框架Flask信号机制(signals)介绍
Jan 01 Python
python常见数制转换实例分析
May 09 Python
简单讲解Python中的字符串与字符串的输入输出
Mar 13 Python
深入解析Python的Tornado框架中内置的模板引擎
Jul 11 Python
Python如何判断数独是否合法
Sep 08 Python
深入探究Django中的Session与Cookie
Jul 30 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
May 15 Python
python socket通信编程实现文件上传代码实例
Dec 14 Python
浅谈Python中文件夹和python package包的区别
Jun 01 Python
Python3如何使用tabulate打印数据
Sep 25 Python
Python爬虫定时计划任务的几种常见方法(推荐)
Jan 15 Python
python time.strptime格式化实例详解
Feb 03 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自定义大小验证码的方法详解
2013/06/07 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
2014/05/06 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
Codeigniter检测表单post数据的方法
2015/03/21 PHP
php给图片加文字水印
2015/07/31 PHP
基于jquery的超简单上下翻
2010/04/20 Javascript
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
js下拉框二级关联菜单效果代码具体实现
2013/08/03 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
详解JavaScript中的事件流和事件处理程序
2016/05/20 Javascript
从源码看angular/material2 中 dialog模块的实现方法
2017/10/18 Javascript
javascript设计模式之迭代器模式
2020/01/30 Javascript
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
分析用Python脚本关闭文件操作的机制
2015/06/28 Python
简单介绍Python的Django框架加载模版的方式
2015/07/20 Python
python selenium 获取标签的属性值、内容、状态方法
2018/06/22 Python
pandas中的series数据类型详解
2019/07/06 Python
使用python实现名片管理系统
2020/06/18 Python
Python基于network模块制作电影人物关系图
2020/06/19 Python
python中pivot()函数基础知识点
2021/01/03 Python
HTML5 Canvas概述
2009/08/26 HTML / CSS
科尔士百货公司官网:Kohl’s
2016/07/11 全球购物
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
某公司C#程序员面试题笔试题
2014/05/26 面试题
后勤副校长自我鉴定
2013/10/13 职场文书
结构工程个人自荐信范文
2013/11/30 职场文书
节水倡议书范文
2014/04/15 职场文书
品牌服务方案
2014/06/03 职场文书
土地租赁意向书
2014/07/30 职场文书
2014年村党支部工作总结
2014/12/04 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
小学运动会入场词
2015/07/18 职场文书
2015中秋祝酒词
2015/08/12 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书
TV动画《神废柴☆偶像》公布先导PV
2022/03/20 日漫