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
3 Réponses :
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)
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
Votre retour est à l'intérieur de votre boucle pour que vous ne frappiez pas plus d'une itération. P>
Parce que vous avez
retour total code> intérieur i> apour code> boucle. Sortir de la boucle. Votre fonction éclabousse immédiatement lorsqu'il frappe unretour code> de sorte que vous n'obtenez jamais plus d'une itération.