>>> dec = 1,17
>>> while dec < 23.61:
... dec +=2.07
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '<' not supported between instances of 'tuple' and 'float'
>>> sib = 23.61
>>> while dec < sib:
... dec +=2.07
... print(dec)
File "<stdin>", line 3
print(dec)
^^^^^
SyntaxError: invalid syntax
>>> while dec < sib:
... dec +=2.07
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '<' not supported between instances of 'tuple' and 'float'
>>> type(dec)
<class 'tuple'>
>>> dec = "1.17"
>>> sib = "23.61"
>>> type(dec)
<class 'str'>
>>> while dec < sib:
... dec +=2.07
... print(dec)
File "<stdin>", line 3
print(dec)
^^^^^
SyntaxError: invalid syntax
>>> while dec < sib:
... dec +=2.07
...
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
TypeError: can only concatenate str (not "float") to str
>>> while dec < sib:
... "dec" +=2.07
File "<stdin>", line 2
"dec" +=2.07
^^^^^
SyntaxError: 'literal' is an illegal expression for augmented assignment
>>> while dec < sib:
... dec += 2.07
...
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
TypeError: can only concatenate str (not "float") to str
Bonjour je cherche juste à savoir comment faire en sorte que cette simple boucle while fonctionne. L'idée est simple, c'est de faire en sorte que le prog s'arrête dès que dec > sib merci
Si tu utilises la virgule à la place du point, ta variable dec est un tuple non un float.
- Edité par Garkam il y a 3 minutes
Salut, je m'en suis rendu compte à un moment donné donc j'ai mis des guillemets pour les chiffres, la classe a changé. Mais y'a toujours une erreur après
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
si tu mets des guillemets, ça devient une chaine, non ? donc même message d'erreur avec str à la place de tuple Dans ton 2nd test, le problème est que tu n'as pas laissé une ligne vide pour terminer la boucle dans l'interpréteur avant d'afficher le résultat (ou tu n'as pas ajouter l'indentation si tu voulais afficher les étapes) et tu as inversé le rôle des variables, donc dec est toujours un tuple à ce moment.
et sur la fin, dec étant devenu une chaine, tu ne peux pas faire d'opération dessus à moins de le convertir en float ici avant (et attention une comparaison de chaines n'est pas la même chose qu'une comparaison de nombres)
avec ces lignes juste avant (histoire de définir dec et sib avec les valeurs qui vont bien, a priori sib ne vaut plus 23.61 dans ce que tu nous montres)
Bonjour je cherche juste à savoir comment faire en sorte que cette simple boucle while fonctionne. L'idée est simple, c'est de faire en sorte que le prog s'arrête dès que dec > sib merci
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)