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> a
pour code> boucle. Sortir de la boucle. Votre fonction éclabousse immédiatement lorsqu'il frappe un
retour code> de sorte que vous n'obtenez jamais plus d'une itération.