Programmation python code if
Résolu/Fermé
lecorse
Messages postés
126
Date d'inscription
samedi 11 mars 2006
Statut
Membre
Dernière intervention
19 juin 2020
-
Modifié le 26 mars 2019 à 18:30
[Dal] Messages postés 6203 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 29 janvier 2025 - 27 mars 2019 à 19:07
[Dal] Messages postés 6203 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 29 janvier 2025 - 27 mars 2019 à 19:07
A voir également:
- Programmation python code if
- Citizen code python - Accueil - Outils
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
2 réponses
[Dal]
Messages postés
6203
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
29 janvier 2025
1 099
Modifié le 27 mars 2019 à 19:24
Modifié le 27 mars 2019 à 19:24
Salut lecorse,
Il manque un
Sur le reste de ta question :
1.
Je pense que tu dois utiliser Python3.
Dans Python3,
Comme tu compares un objet
2.
Ton code fonctionne par contre avec Python2.
En effet, le comportement d'
Ce comportement n'existe plus pour Python3.
3.
En Python3, pour évaluer une
https://docs.python.org/3/library/ast.html#ast.literal_eval
Dal
Il manque un
:à la fin de
elseen ligne 21, dans le code que tu as posté sur le forum, sinon ton code a une erreur de syntaxe et ne risque pas de s'exécuter du tout.
Sur le reste de ta question :
1.
Je pense que tu dois utiliser Python3.
Dans Python3,
input()va retourner un objet
String
.
Comme tu compares un objet
String
à un objet List
, Python te confirme qu'une chaîne n'est pas une liste et que les deux objets ne remplissent pas la condition d'égalité et ton ifdonne toujours faux, même si quelque chose correspondant au contenu et à la syntaxe de la liste est exactement saisi.
2.
Ton code fonctionne par contre avec Python2.
En effet, le comportement d'
input()avec Python3 a changé par rapport à la version 2 de Python, où la fonction
input()du langage procédait à une évaluation de ce qui était saisi et retournait un type dynamique en fonction de la saisie (la saisie d'une liste interprétable par Python 2, donnait une variable de type liste, la saisie d'un entier donnait une variable de type int, etc.).
Ce comportement n'existe plus pour Python3.
3.
En Python3, pour évaluer une
String
en une liste (ou autre chose), tu peux utiliser le module astet la méthode
literal_eval...
https://docs.python.org/3/library/ast.html#ast.literal_eval
import ast a = input("conjugue le verbe avoir au présent en anglais : ") a = ast.literal_eval(a)
Dal
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
Ambassadeur
1 568
26 mars 2019 à 19:03
26 mars 2019 à 19:03
bonjour, as-tu essayé sans les parenthèses en ligne 19?
lecorse
Messages postés
126
Date d'inscription
samedi 11 mars 2006
Statut
Membre
Dernière intervention
19 juin 2020
18
27 mars 2019 à 08:21
27 mars 2019 à 08:21
Bonjour
oui merci mais ça marche pas
mais j'ai trouve : j'ai remplacé ma liste 1 par (I have,-you have,he-she has,we have,you have,they have) et ça marche
merci pour ta réponse
oui merci mais ça marche pas
mais j'ai trouve : j'ai remplacé ma liste 1 par (I have,-you have,he-she has,we have,you have,they have) et ça marche
merci pour ta réponse