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> 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> 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
4 Réponses :
en python, a, b = c, d code> signifie "définir a = c code> et b = d code>" p> "
x = y y = x
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 p>
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
Merci, Ann! Très appréciée!
@Floris s'il vous plaît accepter une réponse :)
Vous devriez lire sur le déballage à Python.
"Elem1 virgule elem2 est égale à ELEM2 Comma SUM" plus précisément,
= code> doit être verbalisé comme "est attribué". Cela vous aidera à éviter la confusion entre= code> et== code> dans la programmation.