J'essaie de faire un programme de dés en python qui lance les dés en fonction de l'entrée des utilisateurs sur les côtés, les dés et les jets. Actuellement ce code fonctionne plus ou moins, mais le problème que je suis en train de dire est que je donne 3
dés étant roulés 3
fois avec 6
côtés à eux.Dice Roller pour Python
Le code Je affiche ce que la sortie:
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
Quand je besoin pour afficher comme:
Roll #1 6 5 1
Roll #2 6 4 6
Roll #3 3 1 1
Voici mon code jusqu'à présent. Je suppose qu'il doit faire quelque chose avec mes arguments et paramètres étant vides? Je ne suis pas entièrement sûr. Voici mon code:
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()