【发布时间】:2018-01-09 15:25:24
【问题描述】:
我正在尝试在 python 中制作一个掷骰子的程序,该程序根据用户在边、骰子和掷骰上的输入来掷骰子。目前这段代码或多或少有效,但我遇到的问题是说我给3 掷骰子3 次6 边。
我的代码显示为输出:
Roll #1 6
Roll #2 5
Roll #3 1
Roll #4 6
Roll #5 4
Roll #6 6
Roll #7 3
Roll #8 1
Roll #9 1
当我需要它显示为:
Roll #1 6 5 1
Roll #2 6 4 6
Roll #3 3 1 1
到目前为止,这是我的代码。我的猜测是它必须与我的参数和参数为空有关?我不完全确定。这是我的代码:
import random
def main ():
rolls = get_rolls()
dice = get_dice()
sides = get_sides()
nrolls = 1
for r in range (rolls):
for d in range (dice):
print ('Roll #', nrolls, random.randint(1,sides))
nrolls += 1
def get_rolls():
rolls = int(input('Enter the number of rolls: '))
while rolls <= 0:
print ('Number of rolls must be higher than 0')
rolls = int (input('Enter the number of rolls: '))
return rolls
def get_dice():
dice = int (input('Enter the number of dice being rolled: '))
while dice < 1 or 5 < dice:
print ('Number of dice being rolled must be between 1 and 5')
dice = int (input('Enter the number of dice being rolled: '))
return dice ()
def get_sides():
sides = int (input('Enter the number of sides on the dice: '))
while sides < 2 or 36 < sides:
print ('Number of sides on dice must be between 2 and 36')
sides = int (input('Enter the number of sides on the dice: '))
return sides
main()
【问题讨论】:
标签: python nested-loops dice