Python亂數與統計,跟電腦玩猜數字!【Python練習Day6】

每年歲末是最忙的一段時間,標題雖然是[Day6],但其實從開始練習到現在已過快兩週,果然計畫趕不上變化,這天是練習Python亂數與統計這兩大內建模組的使用,希望可以順利練習下去。

Day6(12/7):Python 亂數與統計
Day6(12/7):Python 亂數與統計

Python亂數模組random

Random和statistics都是數據分析中很重要的基礎,在Python中可以直接Import來使用。

import random

隨機選取:choice()、sample()

如果要隨機選取一個列表中的一個或N個數字,可以是用choice()、sample()這兩個函式。

#從列表中隨機選取一個資料
x=random.choice([0,1,5,8])

print(x)
#從列表中隨機選取N個資料
y=random.sample([0,1,5,8],3) 
 #在數列中選取3個數字
print(y)

結果

8
[0, 5, 8]

隨機調換順序:shuffle()

可以把一個數列重新隨機排序

data=[0,1,5,8]
random.shuffle(data)
print(data)

取得隨機亂數:random()、uniform()

random.uniform(0.0,1.0)

結果:隨機產出0.0-1.0的數字

取得常態分配亂數:normalvariate()

輸入平均數與標準差,得到常態分配亂數。

#取得平均數100、標準差10的常態分配亂數
#大多得到90~110之間的資料
y1=random.normalvariate(100,10)
print(y1)

#取得平均數0、標準差5的常態分配亂數
#大多得到-5~5之間的資料
y2=random.normalvariate(0,5)
print(y2)

Python統計模組statistics

統計模組(statistics)內建了許多統計學會用到的計算公式,老實說我只有在五專時期短暫接觸過統計,那時候對數學避之唯恐不及(現在也是),很多統計概念跟名詞都已經忘光光還給老師了!

#統計模組
import statistics

實際使用不難,倒是花了一些時間惡補統計名詞。

計算平均數:mean()

#計算平均數
x1=statistics.mean([1,4,6,9,100]) 
print(x1)

執行結果

24

計算中位數:median()

#計算中位數
x2=statistics.median([1,4,6,9]) 
print(x2)

結果

5

計算標準差:stdev()

#計算標準差
x3=statistics.stdev([2,4,6,100]) 
print(x3)

結果

48.027769744874334

什麼是標準差:

用來描述數字分散情況。
公式:離均差平方合的平均開根號

【新手Python練習】Day6:Python亂數與統計

推薦超清楚概念:Shgsh Math頻道:標準差


練習:Python猜數字,終極密碼(輸入1-100跟電腦玩猜數字)

利用亂數模組產生一個亂數,接著使用迴圈重複判斷數字是否符合,並給予太大或太小的提示。

import random
an_2=random.randint(1,100)
gu_2=int(input("請猜1-100數字"))

while gu_2!=an_2:
  if gu_2>an_2:
    print("數字太大")
    gu_2=int(input("請再猜一次"))

  elif gu_2<an_2:
    print("數字太小")
    gu_2=int(input("請再猜一次"))

print("答對了!!")

中間一開始只用if判斷式寫,這樣玩一次就沒了,後來才想到要用迴圈(重複判斷)。

執行結果

Python亂數練習:猜數字、終極密碼

練習檔:Day6練習:猜數字

本次練習檔與影片

練習檔網址:Day6(12/7):Python 亂數與統計
影片列表:Python 亂數與統計模組

【Python新手練習】相關文章

【Python新手練習】系列文,是一個行銷人學習Python的筆記,希望可以藉由練習程式,訓練更強大的邏輯思考,如果你也對這塊有興趣,這些文章或許可以幫助到你!也歡迎一起交流。

行銷人的Python練習90計畫-為什麼要學Python?
Day0:Google Colab新手Python開發環境推薦
Day1:Python變數與資料型態
Day2:Python判斷式與迴圈(流程控制)
Day3:Python函式 定義、呼叫與回傳
Day4:載入Python模組與使用
Day5:Python檔案讀取和儲存
Day6:Python亂數與統計
Day7:Python API 開放資料串接,抓取台北市政府公開資料
Day8:Python實體物件建立與使用
Day9:Python爬蟲實戰!抓取PTT電影版

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *