- 了解 Python 類別引用與類別方法的使用方式!
類別引用方式:
- 使用指令模式,利用 import 來引用 random 類別:
>>>import random >>>random.random()
PS:產生一個大於等於0,但小於1的小數! - 使用指令模式,使用 random 類別的其它幾個常見亂數函數(1):
>>>import random >>>random.randrange(3) 1 >>>random.randrange(1,7) 3 >>>random.randrange(1,9,2) 3
PS: random.randrange(stop)、random.randrange(start,stop)、random.randrange(start,stop,step),其中的 stop 是永遠不會產生的數字! - 使用指令模式,使用 random 類別的其它幾個常見亂數函數(2):
>>>import random >>>random.randint(1,6) 1 >>>nums = [1,2,3,4,5,6] >>>random.choice(nums) 3 >>>random.shuffle(nums) >>>print(nums) [4, 1, 3, 2, 6, 5]
PS: random.randint(a,b): 產生一個大於等於a,但小於等於b 的整數! random.choise(a): 從 a 這個陣列中,隨機取一個整數值! random.shuffle(a): 將 a 這個陣列隨機重新排列!
- 修改程式內的迴圈內容:main.py
# 引用 random 類別中的 randrange() 函數 from random import randrange # 要求玩家要輸入遊戲人數 players_num = eval(input("請輸入玩家人數:")) # 設定一開始的遊戲幣 moneys = [] # 設定玩家名單 players_name = [] # 按照遊戲人數,輸入玩家名稱,以及增加遊戲幣數量 for i in range(players_num): # 要求玩家輸入玩家名稱 players = input("請輸入玩家名稱:") # 將玩家名稱列入玩家資料陣列 players_name.append(players) # 增加遊戲幣數量 moneys.append(20000) # 輸出資料 print(players_name[0]) print(moneys[0]) # 設定玩家順序值 i = 0 # 開始進行遊戲 while True: ##### a.) ##### b.) 擲骰子 newstep = randrange(1,6) print(players_name[i] + "擲骰子:" + str(newstep) + " 點") print(players_name[i] + "前進中...") ##### c.) ##### e.) # 輪至下一位玩家 if (i < players_num): i = i + 1 else: i = i - players_num players_num = players_num - 1 # 測試 while 迴圈用 print(players_num) ##### f.) 結束遊戲條件 if (players_num <= 1): print("遊戲結束") break