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 相关文章推荐
Python2.x中str与unicode相关问题的解决方法
Mar 30 Python
分享python数据统计的一些小技巧
Jul 21 Python
基于python的七种经典排序算法(推荐)
Dec 08 Python
python构建深度神经网络(续)
Mar 10 Python
在pytorch中查看可训练参数的例子
Aug 18 Python
Python之指数与E记法的区别详解
Nov 21 Python
opencv resize图片为正方形尺寸的实现方法
Dec 26 Python
基于python的docx模块处理word和WPS的docx格式文件方式
Feb 13 Python
python等差数列求和公式前 100 项的和实例
Feb 25 Python
python获取天气接口给指定微信好友发天气预报
Dec 28 Python
Python pandas读取CSV文件的注意事项(适合新手)
Jun 20 Python
numpy array找出符合条件的数并赋值的示例代码
Jun 01 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将fileterms函数返回的结果变成可读的形式
2011/04/21 PHP
详解Laravel服务容器的绑定与解析
2019/11/05 PHP
JavaScript 判断日期格式是否正确的实现代码
2011/07/04 Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
JQuery select(下拉框)操作方法汇总
2015/04/15 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
React Native实现进度条弹框的示例代码
2017/07/17 Javascript
浅谈js的解析顺序 作用域 严格模式
2017/10/23 Javascript
Angular实现搜索框及价格上下限功能
2018/01/19 Javascript
node.js之基础加密算法模块crypto详解
2018/09/11 Javascript
JS实现继承的几种常用方式示例
2019/06/22 Javascript
解决layui的input独占一行的问题
2019/09/10 Javascript
Python常用列表数据结构小结
2014/08/06 Python
python通过apply使用元祖和列表调用函数实例
2015/05/26 Python
python删除指定类型(或非指定)的文件实例详解
2015/07/06 Python
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
Django项目中用JS实现加载子页面并传值的方法
2018/05/28 Python
PyQt5图形界面播放音乐的实例
2019/06/17 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
使用python获取邮箱邮件的设置方法
2019/09/20 Python
解析PyCharm Python运行权限问题
2020/01/08 Python
TensorFlow自定义损失函数来预测商品销售量
2020/02/05 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
Python读取二进制文件代码方法解析
2020/06/22 Python
Python如何输出百分比
2020/07/31 Python
女子锻炼服装和瑜伽服装:Splits59
2019/03/04 全球购物
西班牙购买行李箱和背包网站:Maletas Greenwich
2019/10/08 全球购物
历史系毕业生自荐信
2013/10/28 职场文书
公司成立感言
2014/01/11 职场文书
兰兰过桥教学反思
2014/02/08 职场文书
党的群众路线教育实践活动学习心得体会
2014/03/03 职场文书
教师批评与自我批评材料
2014/10/16 职场文书
旅游项目合作意向书
2015/05/08 职场文书
教师培训学习心得体会
2016/01/21 职场文书
解决pycharm下载库时出现Failed to install package的问题
2021/09/04 Python