0
votes

Python: la boucle pour la fonction FIB n'a pas de sens pour moi

Dans mon cours Python, j'ai un exercice sur les numéros de Fibonacci. Ci-dessous, vous rencontrez le texte complet du chapitre 4.1.5.7.

Ma question concerne la fonction elle-même. En particulier, je suis perplexe ce qui se passe à l'intérieur de la boucle: p> xxx pré>

dans la troisième ligne que vous voyez ELEM1 virgule ELEM2 est égale à ELEM2 SUM. Qu'est-ce que cela signifie? P>

Quelqu'un peut-il expliquer étape par étape comment je peux interpréter le contenu de cette boucle? P>


  • Texte complet du chapitre 4.1.5.7: LI> ul>

    Certaines fonctions simples: les numéros de fibonacci Êtes-vous familiarisé avec les numéros Fibonacci? P>

    Ce sont une séquence de nombres entiers construits à l'aide d'une règle très simple: p>

    Le premier élément de la séquence est égal à un (FIB1 = 1) La seconde est également égale à une (FIB2 = 1) Chaque numéro ultérieur est la somme des deux numéros précédents (FIBI = FIBI-1 + FIBI-2) Voici quelques-uns des premiers numéros Fibonacci: P>

    1 -> 1
    2 -> 1
    3 -> 2
    4 -> 3
    5 -> 5
    6 -> 8
    7 -> 13
    8 -> 21
    9 -> 34
    


2 commentaires

Vous devriez lire sur le déballage à Python.


"Elem1 virgule elem2 est égale à ELEM2 Comma SUM" plus précisément, = doit être verbalisé comme "est attribué". Cela vous aidera à éviter la confusion entre = et == dans la programmation.


4 Réponses :


5
votes

en python, a, b = c, d signifie "définir a = c et b = d " "


0 commentaires

3
votes
x = y
y = x 

0 commentaires

2
votes

Pour votre code ELEM1, ELEM2 = ELEM2, SUM signifie: elem1 = elem2 et elem2 = somme, ou vous pouvez interpréter ceci comme je, j = 1,10 où i = 1 et j = 10


0 commentaires

1
votes

Espérons que cela vous aidera à comprendre:

elem1 = elem2 = 1 # Set the first two numbers of the fib sequence to 1
sum = 0
for i in range(3, n + 1): # if n is 3, we get -- for i in range(3,4), where i will only be 3 -- if n is 4, i will be 3, then 4 etc. 
    sum = elem1 + elem2 # First find the third number of the sequence, and during other iteration, the third will be shifted to the fourth, fifth, etc.
    elem1, elem2 = elem2, sum # Now shift the variables so the first number is the second, and the second is the sum(third) During each loop, we shift them again
return sum


2 commentaires

Merci, Ann! Très appréciée!


@Floris s'il vous plaît accepter une réponse :)