Python 亂數與統計模組 By 彭彭

Поделиться
HTML-код
  • Опубликовано: 18 ноя 2024

Комментарии • 221

  • @AK-di6xs
    @AK-di6xs 3 года назад +13

    感謝彭彭老師
    # 亂數、統計模組
    # 內建模組 : random , statistics 做數據分析很重要的基礎
    # 亂數模組
    # 載入模組
    #import random
    # 隨機選取
    import random
    # 從列表中隨機選取 1 個資料 ( 1個用 choice )
    random.choice([0,1,5,8])
    # 從列表中隨機選取 2 個資料 ( 2個以上用 sample 不能超過列表的長度 )
    random.sample([0,1,5,8],2)
    # 隨機調換順序
    import random
    # 將列表的資料(就地)隨機調換順序 會對列表本身的資料進行修改、調換
    data=[0,1,5,8]
    random.shuffle(data)
    print(data)
    # 隨機亂數
    import random
    # 取得 0.0 ~ 1.0 之間的隨機亂數
    random.random() # 取 0 ~ 1 之間的隨機亂數
    random.uniform(0.0,1.0) # 區間內的隨機亂數 機率相同
    # 常態分配亂數
    import random
    # 取得平均數 100 標準差 10 的
    # 常態分配亂數
    random.normalvariate(100,10) # 前面是平均數 後面是標準差
    # 這樣取到的數
    # 大部分取到的數都在一個標準差內 90 ~ 110 (68%)
    # 更大部分是兩個標準差內 80 ~ 120 (95%)
    # 極大部分是三個個標準差內 70 ~ 130 (99.7%)
    # 載入統計模組
    #import statistics
    # 計算平均數
    import statistics
    # 計算列表中數字的平均數
    statistics.mean([1,4,6,9])
    # 計算列表中數字的中位數
    statistics.median([1,4,6,9])
    # 計算列表中數字的標準差
    statistics.stdev([1,4,6,9])
    #--------------
    # 隨機模組
    import random
    # 隨機選取
    data=random.choice([1,5,6,10,20])
    print(data)
    # 複數的隨機選取 會回傳一個列表資料出來
    data=random.sample([1,5,6,10,20],3)
    print(data)
    # 隨機調換順序 (就是洗牌的概念)
    data=[1,5,8,20]
    random.shuffle(data)
    print(data)
    # 隨機取得亂數
    data=random.random() # 0 ~ 1 之間的隨機亂數
    print(data)
    data=random.uniform(60,100) # 60 ~ 100 之間的隨機亂數
    print(data)
    # 取得常態分配亂數
    # 平均數 100, 標準差 10, 得到的資料多數在 90~ 110 之間
    data=random.normalvariate(100,10)
    print(data)
    # 平均數 0, 標準差 5, 得到的資料多數在 -5 ~ 5 之間
    data=random.normalvariate(0,5)
    print(data)
    # 統計模組
    import statistics as stat # 用別名來稱呼這個模組 操作起來會比較方便
    data=stat.mean([1,4,5,8])
    print(data)
    data=stat.median([1,2,3,4,5,8,100]) # 用中位數 比較符合大部分人的情況 因為極端值不會進來
    print(data)
    data=stat.median([1,2,3,4,6,5,8,100])
    print(data)
    data=stat.stdev([1,2,3,4,5,8,10]) # 標準差 資料的散布狀況
    print(data)
    # 平均數、中位數、標準差、常態分配

  • @eljel7584
    @eljel7584 4 года назад +9

    十分感谢彭彭老师 我的专业内容其实跟计算机没有什么关系 但看了老师的视频后就决定学习python了 总共27节入门课程现在看了一半在这里打个卡 之后打算把老师其余每个视频都看一遍

    • @cwpeng-course
      @cwpeng-course  4 года назад +1

      不客气,很高兴能引起你的兴趣,加油哦 :)

  • @xiiiiiixi
    @xiiiiiixi 2 года назад +2

    謝謝彭彭老師的教學,讓我看得懂python考試題目

  • @yu-chiehlee8031
    @yu-chiehlee8031 Год назад +3

    對於有限的數集,可以通過把所有觀察值高低排序後找出正中間的一個作爲中位數。如果觀察值有偶數個,則中位數不唯一,通常取最中間的兩個數值的平均數作爲中位數。

  • @金恩熙-t9n
    @金恩熙-t9n 4 месяца назад +3

    20:41 幫大家復習國高中中位數
    簡單來說就是,數值照順序排好後,數到中間的那個,就是中位數,但如果數量是偶數,就取中間兩個相除。
    用數人頭的方式,來避免數據中的一些極端值的統計方式。

    • @cwpeng-course
      @cwpeng-course  4 месяца назад

      感謝協助大家複習和分享,超讚 ~

  • @姚字丞
    @姚字丞 2 года назад +1

    謝謝作者的製作。

  • @fymdpp7414
    @fymdpp7414 4 года назад +8

    初學者福音頻道 超讚

  • @shoomm1874
    @shoomm1874 4 года назад +1

    謝謝老師 講的很清楚
    另外 中位數的定義是資料中存在的 可以將資料分成最多一半小於 最多一半大於的那個數 所以資料中也可能有多個數是和中位數相同的

    • @cwpeng-course
      @cwpeng-course  4 года назад

      謝謝你的回饋和分享呦 :)))))

  • @q4690744
    @q4690744 5 лет назад +8

    講得超好,比那什麼XX電腦還有XX電腦的現場課程還要清楚

  • @菲德
    @菲德 Год назад

    謝謝老師 ~ 讓我習得樂透隨機選號 名牌產生器 !!!

  • @洪寶陞
    @洪寶陞 6 лет назад +10

    謝謝彭彭老師~
    發覺老師很喜歡偷笑 :D

  • @Endless_Crafts
    @Endless_Crafts 5 лет назад +1

    感謝彭彭老師 無私奉獻

  • @ShouShou7777
    @ShouShou7777 2 года назад +1

    老師您好,json檔內的資料改寫清楚了。但如果是一般text檔呢?
    若有一text檔:
    3
    5
    8
    3
    我在主程式open text檔後,有辦法在主程式單獨把全部的3改成10之類的嗎?
    因為text檔不是串列型態,不知該如何置換,謝謝!

    • @cwpeng-course
      @cwpeng-course  2 года назад +1

      你要全部讀取,然後一個一個檢查是否是 3,如果是 3 的話,重新寫入成 10,如果不是就寫入原來的資料。

  • @emmaulala1495
    @emmaulala1495 5 лет назад +2

    請問老師:
    隨機調換為何不能寫成
    data3=random.shuffle([3,4,6,8,5,1,3])
    print(data3)
    或者
    print(random.shuffle([3,4,6,8,5,1,3]))
    上面兩種寫法調換結果都會是none??請問原因?

    • @cwpeng-course
      @cwpeng-course  5 лет назад +5

      他是把傳遞進去的列表本身做亂數排列,不是回傳新的列表。所以無法用你的這些寫法來完成。

  • @kuo-hunglo8379
    @kuo-hunglo8379 2 года назад +1

    這個教學視頻是看過講的最清楚的,沒有之一。看到這個視頻,第一次看到一點點小小的不足,就是做常態分配亂數時,一般會要做"隨機抽出100個常態分配隨機變數",......

  • @xianlin7831
    @xianlin7831 4 года назад +1

    Traceback (most recent call last):
    File "f:/python/random.py", line 3, in
    import random
    File "f:\python
    andom.py", line 4, in
    data=random.choice([1,2,3])
    AttributeError: partially initialized module 'random' has no attribute 'choice' (most likely due to a circular import)

    • @xianlin7831
      @xianlin7831 4 года назад +1

      why?

    • @cwpeng-course
      @cwpeng-course  4 года назад +10

      程式檔案名稱不要使用 random.py,會跟模組的名稱產生衝突哦 ~~~

  • @肥狗二號
    @肥狗二號 5 лет назад +1

    感謝彭彭老師細心教學!!

  • @jhujhupig
    @jhujhupig 3 года назад +3

    請問可以直接隨機選出整數嗎?還是只能print出亂數之後把它int成整數?

    • @cwpeng-course
      @cwpeng-course  3 года назад +4

      可以哦,例如 random.randint(1, 100) 亂數取得 1 ~ 100 間的整數。

  • @qian-huiyu4478
    @qian-huiyu4478 3 года назад +2

    請問為什麼random不能執行(我是用mac)
    Traceback (most recent call last):
    File "random-statistics.py", line 1, in
    import random
    File "/Users/yuqianhui/Documents/Python-training/random.py", line 2, in
    AttributeError: 'module' object has no attribute 'choice'
    請問為什麼不能用statistics
    Traceback (most recent call last):
    File "random-statistics.py", line 13, in
    import statistics as stat
    ImportError: No module named statistics
    看了其他人留言說要sudo easy_install pip 打了以後要輸入密碼 但不能打字

    • @cwpeng-course
      @cwpeng-course  3 года назад

      可能是版本問題,確認有安裝 3 版的 Python,執行時使用:python3 檔案名稱

    • @Ryan-rv4io
      @Ryan-rv4io 2 года назад

      我也是用mac有這個問題,想請問您解決了嗎?是版本問題嗎?

  • @吳-b6r
    @吳-b6r 2 месяца назад

    老師您好
    請問一下使用uniform 的話
    指定區間60~100,也是含60,不含100
    包含開頭不含結尾嗎

  • @沈子翔-c4t
    @沈子翔-c4t 5 лет назад +1

    老師你好,我在做9:12秒的部分出現這個問題
    Traceback (most recent call last):
    File "re.py", line 1, in
    import random
    File "/Users/admin/Desktop/python training/random.py", line 2, in
    AttributeError: 'module' object has no attribute 'choice'
    (base) admindeMacBook-Air:python training admin$
    請問老師這要怎麼解決

    • @cwpeng-course
      @cwpeng-course  5 лет назад +1

      你可能執行了舊版的 python,建議執行程式的時候打:python3 檔案名稱

  • @miyai60827
    @miyai60827 4 года назад +1

    謝謝老師總是教得很清楚~~
    然後 0:43 ㄆㄧㄚˊ 嘴很Q XD

  • @wangmaoyo
    @wangmaoyo 6 лет назад +4

    为什么不能
    import random
    data=random.shuffle([1,2,3,4])
    print(data)

    • @cwpeng-course
      @cwpeng-course  6 лет назад +5

      random.shuffle([1,2,3,4]) 是直接改变你传递进去的列表,不是用函式回传值的方式处理,所以 data 会拿到 None 〜

  • @kira8657
    @kira8657 6 лет назад +1

    老師,為甚麼我的電腦出了下面的結果;
    Traceback (most recent call last):
    File "random.py", line 1, in
    import random
    File "C:\python learning
    andom.py", line 2, in
    data=random.sample([1,5,6,10,20],2)
    AttributeError: module 'random' has no attribute 'sample'

    • @cwpeng-course
      @cwpeng-course  6 лет назад +1

      檔案名稱不要使用 random.py 哦,會跟內建的模組衝突。
      把你的程式檔案名稱換成任何其他的就可以,例如 random-test.py

  • @chaka8645
    @chaka8645 5 месяцев назад

    老師如果我想要隨機選取1~50號
    那我需要從1,2,3,4,5,6,7......這樣輸入到50嗎?
    還是有比較便捷的方法

  • @jackielee4418
    @jackielee4418 4 года назад +1

    謝謝彭彭老師

  • @kyli2037
    @kyli2037 4 года назад

    謝謝彭彭老師~~這邊有個小問題想跟老師請教一下
    在練習shuffle時,發現如果改用下方的寫法,最後會印出"None",不知道為什麼會這樣呢?謝謝老師~
    可將data列表就地洗牌
    data=[1,5,8,20]
    random.shuffle(data)
    print(data)
    最後列印出來的結果是"None"
    data=[1,5,8,20]
    A=random.shuffle(data)
    print(A)

    • @cwpeng-course
      @cwpeng-course  4 года назад +1

      random.shuffle(data) 會把傳進去的列表打亂,但不會有回傳值。
      你程式中的 A 會得到 random.shuffle(data) 的回傳值,所以是 None。

    • @kyli2037
      @kyli2037 4 года назад

      謝謝彭彭老師

  • @Timtim-e1j
    @Timtim-e1j 5 лет назад +2

    老師,請問我用:
    import statistics as stat
    結果系統出現 :
    ImportError: No module named statistics
    但是我用random就沒有問題,請問是哪裡出錯了嗎?我是用mac的vs code

    • @cwpeng-course
      @cwpeng-course  5 лет назад +3

      可能是版本的問題,執行程式的時候打:python3 檔案名稱

    • @Timtim-e1j
      @Timtim-e1j 5 лет назад +1

      成功了!謝謝彭彭老師! 難怪我之前顯示中文前面都必須要打#coding:utf-8

    • @廖敏喬-t5m
      @廖敏喬-t5m 5 лет назад

      彭彭的課程 老師您好 我也遇到一樣的問題 但是執行時輸入python3 檔案名稱 還是沒有解決耶

    • @劉厚宏-v5w
      @劉厚宏-v5w 4 года назад

      @@cwpeng-course hi彭彭老師 請問執行程式 是要在哪裡執行,下載的時候就要弄嗎

  • @ab51105
    @ab51105 6 лет назад +1

    彭彭老師您好:
    請問會有python用於數據分析的package (ex. numpy/scipy/pandas/matplotlib) 教學嗎?或者有推薦的影片嗎?謝謝老師!

    • @cwpeng-course
      @cwpeng-course  6 лет назад +1

      目前我沒有這方面的教學哦。推薦的影片網路上應該很多,我自己沒有在看別人的教學影片,所以大概無法推薦 XD

  • @廖斯宇-r7b
    @廖斯宇-r7b 3 года назад

    想請問一下老師,我每次跑完程式後,終端機除了印出結果,還會印出我python在電腦中的路徑,想請問有辦法把那些路徑隱藏掉只留下結果就好嗎
    PS C:\python-training> & C:/Users/AppData/Local/Microsoft/WindowsApps/python3.9.exe c:/python-training/start.py

    • @cwpeng-course
      @cwpeng-course  3 года назад

      那個是終端機介面必然會有的現象,通常是不會刻意需要去隱藏 ~

  • @胡維恩-r5d
    @胡維恩-r5d 4 года назад +1

    澎澎老師您好,看了常態分配的亂數之後我嘗試了
    print(random.normalvariate(100, 200))
    print(random.normalvariate(100, 100))
    print(random.normalvariate(100, 90))
    我發現如果標準差太大的話出來的值會差很多,非常不準確,這該如何改善呢?

    • @雞腿-p9h
      @雞腿-p9h 4 года назад

      標準差過大會造成資料變異很大,所以你的值跳的幅度會很大,通常會設定較小的標準差,或是實務上透過蒐集更多的樣本來降低標準差。

    • @cwpeng-course
      @cwpeng-course  4 года назад

      感謝 @姜柏宏 的回應,確實如此哦,那是統計上的正常現象,降低標準差,或多取幾個樣本,就會看起來比較密集了 ~

  • @張小照
    @張小照 2 месяца назад

    終於進步到14集啦

  • @TheGateBill
    @TheGateBill 6 лет назад +1

    彭彭老師,看了你的課程之後,雖然知道課程的編程碼,而我還是不知道怎麼去編程,怎麼去構思之類的,彭彭老師能借用一些大型的編程碼來介紹嗎?感謝

    • @cwpeng-course
      @cwpeng-course  6 лет назад +4

      嗯嗯嗯,這確實是初學者會有的困擾。謝謝你的建議,我會考慮加入這方面的教學和介紹 :)

  • @chang-shunyang4411
    @chang-shunyang4411 6 лет назад +1

    謝謝彭彭老師!!

  • @louieli0515
    @louieli0515 5 лет назад +1

    彭彭老师想问一下python2.7为什么在导入statistics模组会显示 No module named statistics
    是2.7没有statistics模组吗?

    • @cwpeng-course
      @cwpeng-course  5 лет назад

      是的,Python 2.7 版没有内建 statistics 模组。

    • @louieli0515
      @louieli0515 5 лет назад

      @@cwpeng-course 我用pip安装了statistics行了为什么用pip安装requests就还是显示no module named requests?

  • @changkevin9936
    @changkevin9936 4 года назад

    彭彭老師你好,想問一下PYTHON裡的stdev計算方式部分:
    程式裡算出的好像是母體標準差(除以n-1)的結果
    如果想要得到樣本標準差(除以n)的結果,有辦法做更改嗎?
    在母體跟樣本這兩者之間有點搞不太清楚,謝謝!!

    • @cwpeng-course
      @cwpeng-course  4 года назад

      可以試試看使用 pstdev() 這個函式 ~

  • @郭晉睿-u5z
    @郭晉睿-u5z 3 года назад

    老師請問為什麼我操作9:12時為什麼一直跑出這個
    Traceback (most recent call last):
    File "/Users/kellybird/Desktop/Python 3/test.py", line 1, in
    import random
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/random.py", line 49, in
    from math import log as _log, exp as _exp, pi as _pi, e as _e, ceil as _ceil
    ImportError: bad magic number in 'math': b'\x03\xf3
    '
    (我是用Mac的)

    • @cwpeng-course
      @cwpeng-course  3 года назад

      版本的問題,Mac 執行的時候請輸入:python3 檔案名稱

    • @郭晉睿-u5z
      @郭晉睿-u5z 3 года назад

      @@cwpeng-course 好!謝謝老師

  • @吉-s8p
    @吉-s8p 3 года назад

    當我寫stat 的時候, 出現以下error
    import statistics as stat
    data = stat.mean([1,4,5,8])
    print (data)
    AttributeError: partially initialized module 'statistics' has no attribute 'mean' (most likely due to a circular import)
    我是有什麼程序做錯了嗎?

    • @cwpeng-course
      @cwpeng-course  3 года назад

      練習的程式檔案名稱不要使用 statistics 模組一樣的名字 ~

  • @hsinnanlai6969
    @hsinnanlai6969 4 года назад +2

    學生時期覺得統計很難,艱澀難有熱情,現在透過python的角度來看反而激起興趣!

    • @cwpeng-course
      @cwpeng-course  4 года назад +4

      讚讚,覺得很棒,程式語言能夠把很多理論的東西具體化,也是我喜歡寫程式的原因 :)

  • @chiujacky2905
    @chiujacky2905 4 года назад +1

    老師你好.
    請問random之前, 需要重設seed嗎?
    之前學過其他程式, seed是跟檔案的.
    如果不重設seed的話, 會重覆上次的亂數.

    • @cwpeng-course
      @cwpeng-course  3 года назад

      是的,亂數是根據一開始的 seed 用某種規律產生,所以認真的要做的話,會給定不同的 seed。用當下的時間毫秒數去給是蠻簡單有用的作法。

    • @chiujacky2905
      @chiujacky2905 3 года назад

      @@cwpeng-course 請問如何把seed設定成當下時間毫秒數呢?

    • @cwpeng-course
      @cwpeng-course  3 года назад

      @@chiujacky2905 直接寫 random.seed() 設置就可以了,會直接預設用當前的時間當 seed。

  • @qianqiansophiatang5315
    @qianqiansophiatang5315 6 лет назад

    谢谢彭彭老师,讲的超棒!期待后面的课程❤️

  • @williamzhan2881
    @williamzhan2881 4 года назад +3

    謝謝老師嗷嗷:)

  • @junhuishen2150
    @junhuishen2150 5 лет назад +1

    老师讲的很棒

    • @cwpeng-course
      @cwpeng-course  5 лет назад

      謝謝 :)

    • @junhuishen2150
      @junhuishen2150 5 лет назад

      @@cwpeng-course 老师能不能讲一下turtle的运用,现在这部分很困扰我

  • @黃德明-v3j
    @黃德明-v3j 6 лет назад

    瞭解了謝謝彭彭老師!

  • @yvonnechen1958
    @yvonnechen1958 3 года назад

    老師您好,想請問用shuffle, 一定要先定義列表嗎?我寫以下出現了SyntaxError: invalid syntax錯誤, 請老師幫我看一下 謝謝
    d=random.shuffle([1,2,3,4,5,6])
    print(d)

    • @qqrey
      @qqrey 3 года назад +1

      因为是直接调换a所以最后print的是a而不是random.shuffle
      a=[1,2,3,4,5,6]
      random.shuffle(a)
      print(a)

    • @cwpeng-course
      @cwpeng-course  3 года назад

      感謝 @春虎 的說明,很清楚 :)

  • @施奕成-z6c
    @施奕成-z6c 6 лет назад

    老師您好,在random.shuffle(data)那段我照著您的格式打,結果系統卻出現這串句子:Traceback (most recent call last):
    File "random-statistic.py", line 5, in random.shuffle(data)
    NameError: name 'random is not defined.

    • @施奕成-z6c
      @施奕成-z6c 6 лет назад +1

      老師沒事了,我把import random 註解掉了 所以跑不出來

    • @cwpeng-course
      @cwpeng-course  6 лет назад

      有解決就好 :)

  • @文孟輘
    @文孟輘 Год назад +1

    可以問一下,隨機亂數的小數後抹除可以怎麼做

    • @cwpeng-course
      @cwpeng-course  Год назад

      可以調用 Python 的內建函式 round 做四捨五入 ~

  • @Jasper-i1j
    @Jasper-i1j 5 лет назад

    data = random.normalvariate(100,10) print(data) 這樣是顯示一個 ....請問若我要一次顯示N個 隨機常態分佈數 該怎麼寫呢?

    • @cwpeng-course
      @cwpeng-course  5 лет назад +2

      你可以使用迴圈跑 N 次,多抓幾個數值出來放進列表裡就可以了。

  • @austinchen1351
    @austinchen1351 3 года назад

    您好, 我在統計模組部分出現錯誤:
    import statistics as stat
    data=stat.mean([1,4,5,8,10,11,15,100])
    print(data)
    輸出後出現:
    ImportError: No module named statistics
    是因為版本問題嗎?我目前應該是最新版

    • @leningradskycowboy9697
      @leningradskycowboy9697 3 года назад

      同问诶,我的vscode也是这个问题

    • @cwpeng-course
      @cwpeng-course  3 года назад

      應該是版本問題,如果是使用 Mac 電腦的話,執行時要輸入:python3 檔案名稱

    • @austinchen1351
      @austinchen1351 3 года назад +1

      @@cwpeng-course 非常感謝!!

  • @raja78902010
    @raja78902010 4 года назад

    請問老師,中位數他的功能是排除差異性較大的數字,如何能知道他的判斷方式呢?
    可以用甚麼方法看內建模組裡面寫的程式碼嗎?

    • @cwpeng-course
      @cwpeng-course  3 года назад

      Python 是開源碼的,你可以找到這個:
      github.com/python/cpython/blob/master/Lib/random.py

  • @hung-yuanhsu1684
    @hung-yuanhsu1684 3 года назад

    謝謝老師~

  • @rulu3827
    @rulu3827 3 года назад

    想請問老師我要從backup 檔案夾中要輸出py 的file的話,terminal那邊要打什麼?

  • @denovoli3931
    @denovoli3931 6 лет назад +1

    老師 我想問你是怎麼按的, 一次過在每一行都加上#號, 我只能每一行都按一次#號

  • @mrjackyad
    @mrjackyad 4 года назад

    請問老師,我有歷年來樂透的開獎資料,
    不知用什麼方法或模組可用來分析

    • @cwpeng-course
      @cwpeng-course  4 года назад

      可能要先在概念上確定想要做的分析是什麼,我們才後續決定使用的工具和技術 ~

  • @fffffffff543
    @fffffffff543 2 года назад

    請問一下"data=random.uniform(60,100)"這個60~100隨機取得數字取出來的後面都有很長的小數點,請問能否讓他出來的數值剛好都是整數呢? 謝謝老師

    • @cwpeng-course
      @cwpeng-course  2 года назад

      他會取出小數,但你可以使用內建的 round() 函式,把小數四捨五入變成整數。

    • @t5v716
      @t5v716 2 года назад

      @@cwpeng-course 請問四則五入的寫法是print(round(data))嗎? 還是用中括號?
      請問老師中括號或小括號的用法是甚麼時機點?

    • @kai_b2w
      @kai_b2w Год назад

      @@t5v716 實測了一下確實是小誇號唷

  • @haungsir8992
    @haungsir8992 5 лет назад

    彭彭老師好,我發現在shuffle那一段我想使用列表 range去做,好像不行耶@@,是內建模組只能接受手動式輸入的列表[ ]嗎,那這樣有規律但數字大的列表資料要怎麼導入使用?謝謝~
    程式碼 ,檔名我命名為rand.py,如下:
    import random
    data3=range(44)
    random.shuffle(data3)
    #為何不能使用range()這種列表資料
    # 洗牌的概念
    print(data3)
    顯示錯誤如下:
    Traceback (most recent call last):
    File "rand.py", line 12, in
    random.shuffle(data3)
    File "C:.......\Anaconda3\lib
    andom.py", line 278, in shuffle
    x[i], x[j] = x[j], x[i]
    TypeError: 'range' object does not support item assignment

    • @cwpeng-course
      @cwpeng-course  5 лет назад +1

      主要是因為 range(44) 會得到一個不能更改的列表,也就是 tuple。
      如果要讓你的程式能動,就稍微微調一下:
      import random
      data3=list(range(44))
      random.shuffle(data3)

    • @506841
      @506841 5 лет назад

      @@cwpeng-course 請問老師除了shuffle其他語法不能使用嗎 例如我打
      import random
      data=list(range(10))
      random.choice(data)
      print(data)
      它只是印出[0,1,2,3,4,5,6,7,8,9]而已

  • @t29347790
    @t29347790 4 года назад

    請問老師是如何快速打出【】?
    我都是按ctrl+alt+, 叫出標點符號鍵盤
    謝謝

    • @cwpeng-course
      @cwpeng-course  4 года назад +1

      大括號嗎?
      使用 shift+[ 和 shift+] 就可以。
      如果是中文,應該是要切換到注音輸入法的中文模式,我猜這個每台電腦都有點差異。

  • @gostjoke
    @gostjoke 4 года назад

    感謝老師

  • @johnnyhong5263
    @johnnyhong5263 4 года назад +3

    我的python 好像import random没有用 它说没有attitude

    • @tg6640
      @tg6640 4 года назад +4

      檔名不能是random.py, 會出錯

    • @cwpeng-course
      @cwpeng-course  4 года назад +1

      感謝 @GT 的回應 ~~~

    • @rudy871211
      @rudy871211 4 года назад

      @@tg6640 感謝!卡在這卡好久,好奇問個 請問為何檔名不能這樣取

    • @tg6640
      @tg6640 4 года назад +3

      @@rudy871211 因為import 的本質是把別的python 檔案複製到當前的python 檔案, 你下載python 時己經附帶一個叫random.py 的檔案, 只是你看不見而已 , 如果檔名是random的話, 系統會優先複製(import)本檔案(你自己建立的random.py), 而不是下載python 時附帶的檔案. (電腦拿去維修了回覆得有些慢不好意思>_

    • @rudy871211
      @rudy871211 4 года назад

      @@tg6640 感謝大大!

  • @mosterlai0715
    @mosterlai0715 5 лет назад +1

    您好 彭彭老師
    我想請問一下 我執行了程式 可是卻出現了以下的說明 可以請問一下 是什麼原因嗎? 謝謝
    PS C:\python training> python start.py
    Traceback (most recent call last):
    File "start.py", line 10, in
    data=random.uniform(0.0,1.0)
    NameError: name 'random' is not defined

  • @akuo3388
    @akuo3388 4 года назад

    老師我的random好像無法順利import 出現了no value for argument is k in method call 版本是3.8.3

    • @cwpeng-course
      @cwpeng-course  4 года назад +1

      可能需要完整的程式碼才能判斷哦,或者如果你使用 Mac 電腦,執行時記得用:python3 檔案名稱

  • @iamnate791031
    @iamnate791031 4 года назад

    老師您好,想請問您
    若是我想要在60-99這個區間一次隨機抽取5個數字該怎麼寫
    我想到的是這樣
    #隨機取得亂數
    data=random.uniform(60,99)
    score=random.sample([data],4)
    print(score)
    但好像沒辦法
    盼請老師解惑~
    謝謝老師

    • @pepperblack5319
      @pepperblack5319 4 года назад

      +1 想知道

    • @cwpeng-course
      @cwpeng-course  4 года назад +4

      結合之前學過的迴圈就可以嘍,就是讓 random.uniform(60,99) 做五次,再逐一放進列表中,例如:
      import random
      results=[]
      count=0
      while count

    • @iamnate791031
      @iamnate791031 4 года назад

      @@cwpeng-course
      謝謝老師

  • @徐愷-k4d
    @徐愷-k4d 4 года назад

    謝謝老師的詳細講解
    我想請問一下
    隨機選取0~100的數
    選出沒有小數的數要怎麼寫
    因為你的影片選出來的都有很多小數
    感恩!

    • @serenade0121
      @serenade0121 4 года назад +1

      或許用 int( )試試⋯嗎?

    • @cwpeng-course
      @cwpeng-course  4 года назад +1

      謝謝 @程の二次方 的回應,確實可以使用 int() 來處理 ~~~

    • @iu0307
      @iu0307 4 года назад +1

      data=int(data)

  • @ronaldchow9087
    @ronaldchow9087 3 года назад

    你好老師,請問用random.normalvarite(100,10)為例,大部分在90~110中間,但他的極端數值會去到多大.多小?

    • @williampeng8519
      @williampeng8519 3 года назад +3

      理論上應該是沒有一定的大小的 就常態分配的圖形來看 你會看到他兩端會很貼近0軸 但不會相交 所以極端值應該是無限大 跟無限小 只是出現機率會非常低而已 這是我的理解

    • @ronaldchow9087
      @ronaldchow9087 3 года назад

      @@williampeng8519 感謝解答

    • @cwpeng-course
      @cwpeng-course  3 года назад +1

      感謝 @彭衍霖 詳細的背景知識說明 :)

  • @ednaho5536
    @ednaho5536 6 лет назад +2

    謝謝彭彭老師無私教導! (・ω・)b

  • @easysimpleable
    @easysimpleable 4 года назад

    請問在visual studio code 要把程式碼一次#掉,要怎麼做?

  • @iu0307
    @iu0307 4 года назад +2

    順道一提 不要命名跟moudle一樣的名字

  • @allenchen7771
    @allenchen7771 5 лет назад

    請問彭彭,例如:(【中文,1,5,22】) 這樣選取出現中文字error 該怎麼辦?

    • @cwpeng-course
      @cwpeng-course  5 лет назад

      不好意思,不是很理解問題,能否貼個程式碼來描述看看呢?

    • @張勝峯-o9h
      @張勝峯-o9h 4 года назад

      【"中文",1,5,22】 要這樣?

  • @YY-px2rc
    @YY-px2rc Год назад

    14:10 請問想取整數的亂數該怎麼做呢?

    • @cwpeng-course
      @cwpeng-course  Год назад

      import random
      print(random.randint(3, 9)) # 取 3 ~ 9 之間的整數亂數

  • @russ2735
    @russ2735 10 месяцев назад

    如果想要查常態分配狀況下的機率要怎麼寫呢

    • @russ2735
      @russ2735 10 месяцев назад

      假設mean=0, standard deviation=1, 要找P(Z>2)

  • @yuhu2990
    @yuhu2990 4 года назад

    彭彭老師您好 我也是程式語言初學者
    請問英文不好 能學好程式嗎?

    • @tg6640
      @tg6640 4 года назад

      其實不太影響吧 🤣

    • @cwpeng-course
      @cwpeng-course  4 года назад +1

      可以哦,初階到中階的程度大概都不太受影響,往後真的工作了或許會有點差異,但也是以後的事情了 :)

  • @陳立-o3w
    @陳立-o3w 4 года назад

    請問
    random.random()和random.uniform(0.0, 1.0)
    有包含0跟1嗎?

    • @sophiepan6182
      @sophiepan6182 4 года назад +1

      random.random() 貌似是包含0,但是不包含1. 標記為【0,1)。後者是兩邊都包含。

    • @cwpeng-course
      @cwpeng-course  4 года назад +1

      感謝 @Sophie Pan 的回應,是這樣沒錯哦 :)

    • @石帥哥-e9t
      @石帥哥-e9t 3 года назад

      @@cwpeng-course 老師但是我用
      data=random.uniform(99,100)
      while True:
      if int(data)==100:
      break
      print(int(data))
      跑不出來,所以應該是不包含吧

  • @張映正
    @張映正 3 года назад

    有甚麼方法可以把數字0~100放到列表裡(list)而不用靠自己打上去

  • @tingchiangyang7997
    @tingchiangyang7997 5 лет назад

    彭彭老师您好,请问如何设置只显示到小数点后几位?

    • @cwpeng-course
      @cwpeng-course  5 лет назад +1

      有些蛮特别的语法,像这样:
      “{:.3f}”.format(3.1415926)
      就只会显示到第三位数。把前面的 3f 改成 2f 就会显示到第二位数。

    • @yanru
      @yanru 5 лет назад +2

      也可以使用 round這個函數 round(數字,小數點位數) round(12.34567,2) = 12.35

  • @flowerhahaha7192
    @flowerhahaha7192 4 года назад

    老師您好,我用Jupyter寫以下程式碼:
    data = [0,1,4,7]
    random.shuffle([0,1,4,7])
    print(data)
    跑了十幾遍列表順序都沒有調換,也沒有出現任何錯誤訊息......請問老師知道原因嗎?謝謝您。

    • @cwpeng-course
      @cwpeng-course  4 года назад +1

      要寫 random.shuffle(data)
      你寫 random.shuffle([0, 1, 4, 7]) 是對另外一個新創造的列表做調換,不是原來存放在 data 變數中的那個 ~

    • @flowerhahaha7192
      @flowerhahaha7192 4 года назад +1

      @@cwpeng-course 對齁!!!謝謝老師!!!

    • @HC85326
      @HC85326 3 года назад

      @@cwpeng-course 請問語法random.shuffle([0, 1, 4, 7]),會新創造成什麼列表? 為什麼最後都得到None

  • @艾菜雞
    @艾菜雞 3 года назад

    如果叫不出模組是可能甚麼問題

    • @cwpeng-course
      @cwpeng-course  3 года назад

      可能是 Python 版本的問題,如果是 Mac 電腦,執行時請使用:python3 檔案名稱

  • @-summer5825
    @-summer5825 5 лет назад

    彭彭老师有没有出版这方面的书啊?

  • @ciaoyanghsu9630
    @ciaoyanghsu9630 3 года назад

    這是老師打的部分
    data=[1,5,8,20]
    random.shuffle(data) #shuffle是將列表中的順序隨機調換,概念跟洗牌一樣
    print(data)
    這個結果會印出[1,5,8,20] 的隨機順序列表
    可是當我想要省麻煩而這樣打
    data=random.shuffle([1,5,8,20])
    print(data)
    印出來的卻是none
    想請問老師或者是大神可以解釋為甚麼嗎?
    還是說這跟前幾堂課的函數沒有回傳值有甚麼關係?

    • @cwpeng-course
      @cwpeng-course  3 года назад +1

      shuffle 是對傳進去的列表本身做隨機排序,不會回傳任何東西。你的寫法 data 會取得 shuffle 的回傳值,自然就會得到 None,這樣使用就無法得到想要的結果。

  • @xinruipu2626
    @xinruipu2626 4 года назад

    我的vs coding没有statistics这个模块

    • @cwpeng-course
      @cwpeng-course  4 года назад

      可能是 Python 版本的问题,试着安装最新版本的 Python 试试看,这个和编辑器本身应该没有太大关系呦 ~

  • @蘭開斯特
    @蘭開斯特 5 лет назад

    怎麼在一個範圍取隨機整數

    • @cwpeng-course
      @cwpeng-course  5 лет назад +3

      import random
      print(random.randint(5,9))

  • @赵乐际-v4g
    @赵乐际-v4g 4 года назад +2

    我就是学统计的,一看到正态分布的图片就想起我那去世的前女友

  • @jennychen6151
    @jennychen6151 3 года назад

    走鐘

  • @hin4241
    @hin4241 4 года назад

    87