-1
我正在使用給定數量的骰子在python中編寫用於試驗次數的直方圖的代碼。我在堆棧溢出中找到了一個代碼,並根據我的要求對結果進行了修改。這是我修改後的代碼。更改骰子滾動程序的內置函數
import random
from collections import defaultdict
def main(dice,rolls):
result = roll(dice, rolls)
maxH = 0
for i in range(dice, dice * 6 + 1):
if result[i]/rolls > maxH: maxH = result[i]/rolls
for i in range(dice, dice * 6 + 1):
print('{:2d}{:10d}{:8.2%} {}'.format(i, result[i], result[i]/rolls, '#' * int(result[i]/rolls/maxH * 40)))
def roll(dice,rolls):
d = defaultdict(int)
for _ in range(rolls):
d[sum(random.randint(1, 7) for _ in range(dice))] += 1
return d
但是,我應該實現這一點,而不使用內置函數,如defaultdict,random.randint,.format。是否有可能取代他們,但仍然得到所需的輸出?我嘗試了幾種方法,但無法讓他們取代。
爲什麼'range'和'print'允許?他們也只是內置功能 – thefourtheye
您真的需要用自己編寫的代碼生成隨機數嗎?這是完全不重要的。 – geoffspear
剛剛不到一小時[問不到這個問題](http://stackoverflow.com/q/21312819/198633)?您收到的回覆中有哪些不足(我的是其中之一,如果您發表評論,我很樂意更新它)? – inspectorG4dget