-3
votes

Le résultat de la fonction est trop petit. Comment régler ceci?

Le résultat de cette fonction est trop petit. Je ne suis pas sûr d'où le problème est ou comment le réparer. Veuillez adresser à la fois

def get_n_numbers(n):
    ''' Return the sum of n random numbers from 1 through 4'''
    import random
    total = 0
    for i in range(n):
        mynumber = random.randint(1,4)
        total = total + mynumber


1 commentaires

Parce que vous avez retour total intérieur a pour boucle. Sortir de la boucle. Votre fonction éclabousse immédiatement lorsqu'il frappe un retour de sorte que vous n'obtenez jamais plus d'une itération.


3 Réponses :


0
votes

Déplacez simplement le code> Retour code> en dehors de la boucle, de sorte que la fonction ne s'arrête pas et renvoie après la première passe de la boucle:

def get_n_randoms(n):
    ''' Return the sum of n random numbers from 1 through 4'''
    import random
    total = 0
    for i in range(n):
        mynumber = random.randint(1,4)
        total = total + mynumber
    return total

sum_of_10 = get_n_randoms(10)
print(sum_of_10)


0 commentaires

0
votes

Votre fonction retourne sur la première itération de la boucle. Donc, déplacez le retour en dehors du bloc code> pour code> boucle pour renvoyer la somme totale réelle de toutes les boucles.

def get_n_randoms(n):
    ''' Return the sum of n random numbers from 1 through 4'''
    import random
    total = 0
    for i in range(n):
        mynumber = random.randint(1,4)
        total = total + mynumber
    return total   # < ---- right here see how it aligns with the start of the function block


0 commentaires

0
votes

Votre retour est à l'intérieur de votre boucle pour que vous ne frappiez pas plus d'une itération.


0 commentaires