我有那么一天,我看到的一切都是一团糟。
我有一个骰子类,我想掷100个骰子,并计算每个数字的出现次数。比如说,在100个骰子中,40个是数字“6”。
问题是,如果我硬编码一个if face_value==1类型的解决方案-如果有人改变模具上的面数量-我有点问题-因为它不会计算它们。
我认为最好的方法是制作一个列表(与可能的模具面大小相同)并在每次出现时增加列表中的数字。
简而言之,如何增加每个列表元素内部的值?
diceList = [ Die() for q in range(100)]
import random class Die: face_value = 1 size = 6 def getSize(self): return self.size def getFaceValue(self): return self.face_value def roll(self): self.face_value = random.randint(1, self.size)
def rollList(n): i = 0 a = n[0].getSize() faceList = [0] * a for Die in n: n[i].roll() x = n[i].getFaceValue() print(n[i].face_value) #faceList[x-1] = 1+1 #print(faceList) i += 1
我已经做了一点,我有办法得到答案-我不确定这是否是一个特别好的方式来做它。
def rollList(n): i = 0 faceList = [] a = n[0].getSize() for Die in n: n[i].roll() x = n[i].getFaceValue() faceList.append(x) i += 1 print(faceList) c = 1 while a >= c: print(faceList.count(c)) c += 1
相关问题 更多 >
编程相关推荐