python应用-随机漫步

对python应用的一个巩固,以及熟悉matplotlib的用法

效果如下:

# -*- coding: utf-8 -*-
"""
Created on Fri Sep 28 22:39:55 2018
@author: pprp
"""

from random import choice
import matplotlib.pyplot as plt

class RandomWalk():
    """a class using to generate random data"""
    def __init__(self,num_points=5000):
        """init the class"""
        self.num_points=num_points

        # start at (0,0)
        self.x_val=[0]
        self.y_val=[0]

    def fill_walk(self):
        """calculate the points"""
        while len(self.x_val) < self.num_points:
            x_direction=choice([1,-1])
            x_distance=choice([0,1,2,3,4,5])
            x_step = x_direction * x_distance

            y_direction=choice([1,-1])
            y_distance=choice([1,2,5,4,0])
            y_step = y_direction * y_distance

            if x_step == 0 and y_step == 0:
                continue
            next_x = self.x_val[-1]+x_step
            next_y = self.y_val[-1]+y_step

            self.x_val.append(next_x)
            self.y_val.append(next_y)

rw = RandomWalk(50000)
rw.fill_walk()

plt.tick_params(axis='both',labelsize=14)

point_nums=list(range(rw.num_points))
plt.scatter(rw.x_val,rw.y_val,s=1,c=point_nums,cmap=plt.cm.Blues,edgecolors='none')

# plot the start point and end point
plt.scatter(0,0,c='green',edgecolors='none',s=100)
plt.scatter(rw.x_val[-1],rw.y_val[-1],c='red',edgecolors='none',s=100)

# set figure width and height
plt.figure(dpi=1280,figsize=(10,6))
plt.show()

原文地址:https://www.cnblogs.com/pprp/p/9723030.html

时间: 2024-10-13 08:17:32

python应用-随机漫步的相关文章

【Python】随机漫步

创建Randomwalk()类 我们将使用Python来生成随机漫步数据,再使用matplotlib以引入瞩目的方式将这些数据呈现出来 首先创建类Randomwalk() from random import choice class RandomWalk(): '''一个生成随机漫步数据的类''' def __init__(self,num_points=5000): '''初始化随机漫步的属性''' self.num_points = num_points #所有的随机漫步都始于(0,0)

醉汉随机行走/随机漫步问题(Random Walk Drunk Python)

世界上有些问题看似是随机的(stochastic),没有规律可循,但很可能是人类还未发现和掌握这类事件的规律,所以说它们是随机发生的. 随机漫步(Random  Walk)是一种解决随机问题的方法,它与人类生活息息相关,例如醉汉行走的轨迹.布朗运动(Brownian Motion).股票的涨跌等都可以用它来模拟.随机漫步已经应用到数学,物理,生物学,医学,经济等领域. 假设某地有一个醉汉,每一秒钟会朝"东","南","西","北&quo

Python中的 matplotlib(二)随机漫步

创建一个随机漫步的类: 1 from random import choice 2 3 4 class RandomWalk(): 5 '''一个生成随机漫步数据的类''' 6 7 def __init__(self, num_points=5000): 8 '''初始化随机漫步的属性''' 9 self.num_points = num_points 10 '''所有的随机漫步都始于(0,0)''' 11 self.x_values = [0] 12 self.y_values = [0] 1

Python 生成随机验证码

Python生成随机验证码 Python生成随机验证码,需要使用PIL模块. 安装: 1 pip3 install pillow 基本使用 1. 创建图片 1 2 3 4 5 6 7 8 9 from PIL import Image img = Image.new(mode='RGB', size=(120, 30), color=(255, 255, 255)) # 在图片查看器中打开 # img.show()  # 保存在本地 with open('code.png','wb') as f

python生成随机验证码

Python 生成随机验证码,需安装 PIL模块 安装: pip3 install pillow 基本使用 1,.创建图片 from PIL import Image img = Image.new(mode='RGB', size=(120, 30), color=(255, 255, 255)) # 在图片查看器中打开 # img.show() # 保存在本地 with open('code.png','wb') as f: img.save(f,format='png') 2.创建画笔,用

随机漫步(random walk)

1.题目 有一类问题总称为"随机漫步"(Random Walk)问题,这类问题长久以来吸引着数学界的兴趣.所有这些问题即使是最简单的解决起来也是极其困难的.而且它们在很大程度上还远没有得到解决.一个这样的问题可以描述为: 在矩形的房间里,铺有n×m块瓷砖,现将一只(醉酒的)蟑螂放在地板中间一个指定方格里.蟑螂随机地从一块瓷砖"漫步"到另一块瓷砖(可能是在找一片阿司匹林).假设它可能从其所在的瓷砖移动到其周围八块瓷砖中的任何一个(除非碰到墙壁),那么它把每一块瓷砖都至

Python:随机生成测试数据的模块--faker的基本使用

本文内容: faker的介绍 faker的使用 小例子:生成随机的数据表信息 首发日期:2018-06-15 faker介绍: faker是python的一个第三方模块,是一个github上的开源项目. 主要用来创建一些测试用的随机数据. 官方文档:https://faker.readthedocs.io/en/master/index.html faker的使用: 1.安装模块 pip3 install Faker [使用faker也能识别成功,不过新版已经更新为Faker] 2.导入模块 f

Python生成随机字符串

利用Python生成随机域名等随机字符串. #!/usr/bin/env python# -*- coding: utf-8 -*- from random import randrange, choice from string import ascii_lowercase as lc from sys import maxsize from time import ctime tlds = ('com', 'edu', 'net', 'org', 'gov') for i in range(

Python生成随机五位数——模仿手机验证码

使用Python生成随机的五位手机验证码. # -*- coding:utf-8 -*- #生成五位随机数,模仿手机验证码 #导入random库,可以生成随机数 import random def ran(): L = [] M = [] #通过遍历5次,生成五个元素,并插入列表L for i in range(5): L.append(random.randint(0,9)) if len(L) >= 5: break #通过遍历将L的五个元素由数字转为字符串,导入空列表M,并使用join方法