這是我到目前為止所擁有的:
import random
r = int(input("Enter the number of dice to roll: "))
s = int(input("Enter the number of sides per die: "))
def Rolldice(s,r):
for i in range(0,r):
die = random.randint(1, s)
yield die
for num in range(1):
print("Rolling",r,'d',s,':')
print(f"Total: ")
generator = Rolldice(s,r)
print(sum(generator))
我想列印單個模具,因為我已經得到了結果。
滾動 2d20...
模具 1:1
死亡 2: 15
總數:16
uj5u.com熱心網友回復:
我認為你把事情復雜化了。
一旦你得到了骰子的數量和邊數,只需使用 for 回圈就足夠了。
import random
r = int(input("Enter the number of dice to roll: "))
s = int(input("Enter the number of sides per die: "))
total = 0
for num in range(r):
die = random.randint(1, s)
print(f"Die {num 1}: {die}")
total = die
print(f"Total of all dice: {total}")
輸出
Enter the number of dice to roll: 2
Enter the number of sides per die: 20
Die 1: 7
Die 2: 2
Total of all dice: 9
uj5u.com熱心網友回復:
您可以在函式內添加一條print()陳述句RollDice()(盡管這會導致生成器產生列印到控制臺的副作用,這可能會也可能不會取決于您是否在其他地方使用此函式):
def Rolldice(s,r):
for i in range(0,r):
die = random.randint(1, s)
print(f"Die {i}: {die}")
yield die
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/444394.html
下一篇:在串列中按字母順序對字典進行排序
