随机漫游

# random_flow.py 随机漫游

import random

class RandomFlow():
"""一个生成随机漫游数据的类""" 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:
# To left or to right
x_direction = random.choice([1, -1])
x_distance = random.choice([0, 1, 2, 3, 4])
x_step = x_direction * x_distance y_direction = random.choice([1, -1])
y_distance = random.choice([0, 1, 2, 3, 4])
y_step = y_direction * y_distance # must move
if x_step == 0 and y_step == 0:
continue next_x = self.x_values[-1] + x_step
next_y = self.y_values[-1] + y_step self.x_values.append(next_x)
self.y_values.append(next_y)
# rf_visual.py 实现随机漫游

import matplotlib.pyplot as plt
import random from random_flow import RandomFlow while True:
rf = RandomFlow()
rf.fill_walk() plt.plot(rf.x_values, rf.y_values, color='b', linewidth=1) plt.title('Random Flow', fontsize=24) plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False) filename = 'rf_' + str(random.randint(000000, 999999)) + '.png'
plt.savefig('images/' + filename, bbox_inches='tight') flag = input('Keep flowing? (Y/N): ')
if flag.lower() not in ['y', 'yes']:
break

最新文章

  1. C#非常重要基础之多态
  2. ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现
  3. UP Board 妄图启动ubilinux失败
  4. Net 分页功能的实现
  5. 使用joi来验证数据模型
  6. Java虚拟机学习(5):类加载器(ClassLoader
  7. RHEL 7.0 本地配置yum源
  8. C语言中static变量详解
  9. Delete PeopleSoft Query From the Database
  10. SFTP文件上传与下载
  11. HDU 4798 - Skycity
  12. linux 安装 Chrome
  13. 利用NSURLSession下载视频,图片,能实现断点续传
  14. CSS深入理解流体特性和BFC特性下多栏自适应布局
  15. java.lang包【Object类】
  16. Java中byte、short、char、int、long运算时自动类型转化问题
  17. 在Visual Sutdio 2017中使用boost库
  18. Android CollapsingToolbarLayout使用介绍
  19. (C/C++学习笔记) 二十四. 知识补充
  20. a.每个 HTML 文件里开头都有个&lt;!DOCTYPE&gt;

热门文章

  1. hdoj 1257最少拦截系统
  2. HDU 3644
  3. How to run Java main class and pass application arguments in Maven?
  4. [React Native] Target both iPhone and iPad with React Native
  5. 【MongoDB】windows平台搭建Mongo数据库复制集(相似集群)(三)
  6. Intent 使用方法全面总结
  7. Git与SVN区别 \git学习
  8. C语言读取文件大量数据到数组
  9. 网络 - TCP/IP四层模型,面向生产
  10. Excel数据迁移到SQL Server遇到的若干问题