私はアマチュア プログラマーであり、従来のものよりもかなり複雑なコンソール ダイス ローラーに取り組んでいます。これまでのところ、私はこの機能に問題があります:
def multiRoll(dice, amount):
total = 0
rolls = []
for roll in range(amount):
rolls += roll(dice)
total = sum(rolls)
return total, rolls
これは、サイコロの種類 (4、6、8 面など) とそのインデックスおよびサイコロが振られる回数を説明する辞書から 1 つのエントリを取得することを目的としています。次に、サイコロを必要なだけ転がし、各結果を 1 つのリストに追加して後で合計します。
しかし、どうやら流束がうまくいかず、次の行に達すると:
rolls += roll(dice)
「int」オブジェクトは呼び出し可能ではありません。
これを克服する方法を教えてください。
roll() 関数について疑問がある場合は、次のとおりです。
def roll(dice):
if dice < 1:
print "I found a problem when trying to roll a d%d" % (dice)
return "Failed"
else:
return randrange(1, dice)