Python3字典類型的鍵,不能為list,也不能為....只能使用字符串
import random times=1 basegold=10 base_gold=1200 #gamers and score by dictionary,1200 will change in next loop games={'a':1200,'b':1200,'c':1200} for j in games.keys(): games[i]=base_gold #Random choice one as land ower dz=random.sample(games.keys(),1) #random win or lose ,1 stand ower win wl=random.randint(0,1) if wl==0: dz_gold=games[str(dz[0])]=times*basegold*2*-1+base_gold del games[str(dz[0])] nong_gold=base_gold+times*basegold*2*1 for i in games.keys(): games[i]=nong_gold else: dz_gold=games[str(dz[0])]=times*basegold*2*1+base_gold del games[str(dz[0])] nong_gold=base_gold+times*basegold*2*-1 for i in games.keys(): games[i]=nong_gold games[str(dz[0])]=dz_gold
這里模擬的是三個玩家a b c作為斗地主一局比賽后自己分值的變化,雖然事實證明這種使用字典的方法不是那么方便統計
1. random.sample從初始鍵值對中取出一個鍵作為地主dz,dz的數據類型為list
2. 需要將dz轉換為string,因為dz的數據類型為list,所以必須用dz[0]表示取出的‘鍵’,隨后在進行字符串轉換
如果直接使用 games[dz],則輸出的鍵值對會多出一個 "dz":{數字},而不是dz所代表的玩家‘鍵’