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所代表的玩家‘键’
原文:https://www.cnblogs.com/yuvejxke/p/12367240.html