91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何實現隨機漫步

發布時間:2023-03-07 10:30:25 來源:億速云 閱讀:118 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Python如何實現隨機漫步”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Python如何實現隨機漫步”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

1.  創建 RandomWalk 類

為模擬隨機漫步,首先創建一個名為 RandomWalk  的類,其作用是 隨機的選擇前進方向。這個類需要三個屬性:一個是 存儲隨機漫步次數的變量,其他兩個是 列表,分別存儲隨機漫步經過的每個點的 x 坐標y 坐標

RandomWalk 類只包含兩個方法:

  • 方法 __init__ () ,初始化屬性

  • 方法 fill_walk () ,計算隨機漫步經過的所有點

from random import choice
 
class RandomWalk:
    '''一個生成隨機漫步數據的類'''
 
    def __init__(self, num_points = 500):
        '''初始化隨機漫步的屬性'''
 
        self.num_points = num_points
 
        # 所有隨機漫步都使于(0,0)
        self.x_values = [0]
        self.y_values = [0]
  • 為做出 隨機決策,將 所有可能的選擇 都存儲在一個列表中,并在每次決策時,都使用模塊 random 中的 choice () 來決定使用哪種選擇 。

  • 將隨機漫步包含的默認點數設置為 5000,這個數大到 足以生成有趣的模式,又小到可確保能夠 快速地模擬隨機漫步。

  • 創建兩個用于存儲 x 值和 y 值的列表,并讓每次漫步都從 點(0,0)出發。

2.  選擇方向 

我們將使用方法 fill_walk() 來生成 漫步包含的點,并 決定每次漫步的方向。 

import random
 
def fill_walk(self):
    '''計算隨機漫步包含的所有點'''
 
    # 不斷漫步,直到列表達到指定的長度
    while len(self.x_values) < self.num_points:
 
        # 決定前進方向以及沿這個方向前進的距離
        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
 
        # 拒絕原地踏步
        if x_step == 0 and y_step == 0:
            continue
 
        # 計算下一個點的 x 值和 y 的值
        x = self.x_values[-1] + x_step
        y = self.y_values[-1] + y_step
 
        self.x_values.append(x)
        self.y_values.append(y)
  • 先建立一個循環,它不斷運行,直到漫步包含所需的點數。方法 fill_walk()的主要部分告訴 Python 如何模擬四種漫步決定:向右走還是向左走?沿指定的方向走多遠?向上走還是向下走?沿指定的方向走多遠?

  •  使用 choice([-1,-1]) 給 x_direction 選擇一個值,結果要么是表示向右走的 1,要么是表示向左走的 -1。接下來,choice([0,1,2,3,4]) 隨機的選擇一個 0~4 的整數,告訴 Python 沿指定方向走多遠(x_distance)。通過包含 0 ,不僅能夠同時沿兩個軸移動,還能夠只沿一個軸移動。

  • 將 移動方向乘以移動距離,確定沿 x 軸和 y 軸移動的距離。如果 x_step 為正將向右移動,為負將向左移動,為零將垂直移動;如果 y_step 為正將向上移動,為負將向下移動,為零將水平移動。如果 x_step 和 y_step 都為零,則意味著原地踏步。我們拒絕這樣的情況,接著執行下一次循環。

  • 為獲取漫步中下一個點的 x 的值,將 x_step 和 x_values 中的最后一個值相加,對 y 值也做相同的處理。獲得下一個點的 x 值和 y 值后,將它們分別附件到列表 x_values 和 y_values 的末尾。

3.  繪制隨機漫步圖 

下面的代碼將隨機漫步的所有點都繪制出來:

from random import choice
import matplotlib.pyplot as plt
 
class RandomWalk:
    '''一個生成隨機漫步數據的類'''
 
    def __init__(self, num_points = 5000):
        '''初始化隨機漫步的屬性'''
 
        self.num_points = num_points
 
        # 所有隨機漫步都使于(0,0)
        self.x_values = [0]
        self.y_values = [0]
 
    def fill_walk(self):
        '''計算隨機漫步包含所有的點'''
 
        # 不斷漫步,直到列表達到指定的長度
        while len(self.x_values) < self.num_points:
 
            # 決定前進的方向以及沿著這個方向前進的距離
            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 值
            x = self.x_values[-1] + x_step
            y = self.y_values[-1] + y_step
 
            self.x_values.append(x)
            self.y_values.append(y)
 
# 創建一個 RandomWalk 實例
random_wander = RandomWalk()
random_wander.fill_walk()
 
# 將所有的點都繪制出來
plt.style.use('classic')
(fig,ax) = plt.subplots()
ax.scatter(random_wander.x_values, random_wander.y_values, s = 15)
plt.show()

Python如何實現隨機漫步

Python如何實現隨機漫步

Python如何實現隨機漫步

讀到這里,這篇“Python如何實現隨機漫步”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长泰县| 镇原县| 肇源县| 乐昌市| 霍林郭勒市| 黄石市| 万山特区| 清苑县| 尼木县| 都江堰市| 德钦县| 富民县| 雷州市| 甘孜县| 宝丰县| 嘉鱼县| 沭阳县| 克什克腾旗| 自治县| 嘉义县| 云浮市| 祁东县| 辽中县| 拜城县| 渝中区| 项城市| 东乡县| 乃东县| 九龙城区| 保康县| 台南县| 时尚| 吉木萨尔县| 鲁甸县| 马公市| 保定市| 梨树县| 云霄县| 宁都县| 西丰县| 普洱|