Python实现随机漫步功能
作者:JeremyWYL 发布时间:2021-02-05 20:44:45
标签:python,随机漫步
随机漫步生成是无规则的,是系统自行选择的结果。根据设定的规则自定生成,上下左右的方位,每次所经过的方向路径。
首先,创建一个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、生成效果图片
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实现随机漫步功能网站的支持!
来源:https://www.cnblogs.com/JeremyWYL/archive/2018/07/09/8652110.html
0
投稿
猜你喜欢
- 一、if语句if 语句让你能够检查程序的当前状态,并据此采取相应的措施。if语句可应用于列表,以另一种方式处理列表中的大多数元素,以及特定值
- 我们经常用到的PHP取整函数,主要是:ceil,floor,round,intval。ceil -- 进一法取整说明float ceil (
- 1. *表示匹配任意多个字符 \d*表示匹配任意多个数字字符import retext = "
- 原来的语句是这样的: select sum(sl0000) from xstfxps2 where dhao00 in ( select d
- 1. 定义用一行构建代码例题# 构建一个1-100的列表l1 = [i for i in range(1,101)]print(l1)# 输
- 本文实例讲述了Python自动发送邮件的方法。分享给大家供大家参考,具体如下:python发邮件需要掌握两个模块的用法,smtplib和em
- 用Python对数学函数进行求值、求偏导from sympy import *# x = Symbol("x")# y
- 环境准备前提已经安装好python、pycharm,配置了对应的环境变量。1、安装selenium模块文件–>设置
- 在项目里碰到需要把类似'450000'的数字转换为会计记账所用的格式,'450,000.00',分隔千分位和
- 细线边框是网页中定位区分内容常用的一种方法,配合特定图片的使用,往往能够达到不错的效果,那么如何制作细线边框呢?asp之家注:现在要实现这个
- 准备篇:1、配置防火墙,开启80端口、3306端口vi /etc/sysconfig/iptables-A INPUT -m state -
- 虽然初恋是java, 可是最近是越来越喜欢python,所以决定追根溯源好好了解下python的原理,架构等等.小脑袋瓜不太好使,只能记录下
- 这篇文章主要介绍了python matplotlib给图中的点加标签,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- 前言要在pandas.DataFrame中的任何位置检索或更改数据,可以使用at,iat,loc,iloc。位置的指定方法at,loc:行标
- 在安排Web页面的布局时,最常用的方法之一是用HTML表格界定页面的结构。例如,假设Web页面由顶端的
- 什么是字符串格式化,为什么需要这样做?我们有时候刷抖音/B站看到封面很好看,但是进入直播发现,不过如此!想必主播通过某种方式把输出转换为读者
- 发现个很有用的方法——predict_proba今天在做数据预测的时候用到了,感觉很不错,所以记录分享一下,以后可能会经常用到。我的理解:p
- 前言Python经常被称作“胶水语言”,因为它能够轻易地操作其他程序,轻易地包装使用其他语言编写的库。在Python/wxPython环境下
- Python实现多进程间通信的方式有很多种,例如队列,管道等。但是这些方式只适用于多个进程都是源于同一个父进程的情况。如果多个进程不是源于同
- 如何向前端推送用户请求的信息?postinfo.htm<head><title>asp教程之回应用户请求信息&nbs