我正在製作一個程序,部分是擲出四個骰子並從結果中減去最低的骰子。我正在使用的代碼是有沒有一種更有效的方法來按Python的大小組織隨機結果?
die1 = random.randrange(6) + 1
die2 = random.randrange(6) + 1
die3 = random.randrange(6) + 1
die4 = random.randrange(6) + 1
if die1 <= die2 and die1 <= die3 and die1 <= die4:
drop = die1
elif die2 <= die1 and die2 <= die3 and die2 <= die4:
drop = die2
elif die3 <= die1 and die3 <= die2 and die3 <= die4:
drop = die3
else:
drop = die4
cha = die1 + die2 + die3 + die4 - drop
這是我從目前爲止有限的編碼能力中最好的。有沒有更好的方法讓它按照大小的順序組織四個骰子,然後將三個最高級加在一起,而忽略剩餘?或者是我正在使用最好的方式來執行它的代碼?
只是一個提示,random.randrange接受一個啓動參數。使用'random.randrange(1,7)'來避免將結果加1。 – Ponkadoodle 2010-06-04 23:11:37
我認爲這是random.randint這樣做,randrange必須是一個單一的數字,代表從0到該數字的隨機數。雖然現在我再次查看代碼,但應該使用5而不是6 – Mella 2010-06-04 23:16:36
如果有疑問,請參閱文檔。 randrange:http://docs.python.org/library/random.html#random.randrange和randint:http://docs.python.org/library/random.html#random.randint – 2010-06-04 23:20:09