Création d'une fonction
Meste_maiun
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Meste_maiun Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Meste_maiun Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je fais actuellement une formation Python et j'ai un petit problème
Je dois créer une fonction qui prend comme paramètre une liste de nombres « stringifiés » et renvoie une liste de nombres.
Exemple:
["1", "3", "3.6"] ➞ [1, 3, 3.6]
Mon code
def to_number_list(lst):
lst = ['1.5', '4.22', '3.7', '6', '7']
print ("Liste originale : " + str(lst))
for i in range(0, len(lst)):
lst[i] = float(lst[i])
print ("liste finale : " + str(lst))
Quand je teste mon code sur un compilateur python en ligne, cela me dit que ma variable lst n'est pas nommée
Par contre, si je supprime def to_number_list(lst): (la définition de la fonction), j'obtiens le résultat attendu
Mais bien sûr pour pouvoir passer le test, je ne peux absolument pas supprimer cette partie du code ;-)
Merci d'avance pour votre aide
Cordialement
Configuration: Windows / Edge 98.0.1108.55
je fais actuellement une formation Python et j'ai un petit problème
Je dois créer une fonction qui prend comme paramètre une liste de nombres « stringifiés » et renvoie une liste de nombres.
Exemple:
["1", "3", "3.6"] ➞ [1, 3, 3.6]
Mon code
def to_number_list(lst):
lst = ['1.5', '4.22', '3.7', '6', '7']
print ("Liste originale : " + str(lst))
for i in range(0, len(lst)):
lst[i] = float(lst[i])
print ("liste finale : " + str(lst))
Quand je teste mon code sur un compilateur python en ligne, cela me dit que ma variable lst n'est pas nommée
Par contre, si je supprime def to_number_list(lst): (la définition de la fonction), j'obtiens le résultat attendu
Mais bien sûr pour pouvoir passer le test, je ne peux absolument pas supprimer cette partie du code ;-)
Merci d'avance pour votre aide
Cordialement
A voir également:
- Création d'une fonction
- Fonction si et - Guide
- Creation compte gmail - Guide
- Création site web - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Création compte google - Guide
5 réponses
Bonjour,
On y verrait plus clair si tu affichais ton code avec les balises de code, mode d'emploi ici:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ça:
On y verrait plus clair si tu affichais ton code avec les balises de code, mode d'emploi ici:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ça:
for i in range(0, len(lst)): lst[i] = float(lst[i])
Merci pour la réponse et la suggestion
J'ai du m'y reprendre à deux fois ;-)
J'ai du m'y reprendre à deux fois ;-)
def to_number_list(lst): lst = ['1.5', '4.22', '3.7', '6', '7'] print ("Liste originale : " + str(lst)) for i in range(0, len(lst)): lst[i] = float(lst[i]) print ("liste finale : " + str(lst))
ok mais il manque les indentations, primordiales en Python
J'imagine que c'est comme ça ? :
je comprends que ça ne marche pas : tout le code est dans la fonction
donc, évidemment, si tu enlèves la ligne def ...., (et les indentations) ca marche
J'imagine que c'est comme ça ? :
def to_number_list(lst): lst = ['1.5', '4.22', '3.7', '6', '7'] print ("Liste originale : " + str(lst)) for i in range(0, len(lst)): lst[i] = float(lst[i]) print ("liste finale : " + str(lst))
je comprends que ça ne marche pas : tout le code est dans la fonction
donc, évidemment, si tu enlèves la ligne def ...., (et les indentations) ca marche
Bonsoir
Merci de vos réponses
Je ne connaissais pas le python jusqu'à hier ;-)))
Et j'ai jusqu'au 12 mai pour en connaître les bases pour une pré-sélection à une formation...
ça marche dans le compilateur en ligne espérons que cela fonctionnera sur le site de test (Edabit)
Merci pour vos conseils
Merci de vos réponses
Je ne connaissais pas le python jusqu'à hier ;-)))
Et j'ai jusqu'au 12 mai pour en connaître les bases pour une pré-sélection à une formation...
ça marche dans le compilateur en ligne espérons que cela fonctionnera sur le site de test (Edabit)
Merci pour vos conseils
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Après vérification, cela fonctionne à merveille sur un compilateur externe (https://www.onlinegdb.com/)
Liste originale : ['1.5', '4.22', '3.7', '6.35', '7.62']
liste finale : [1.5, 4.22, 3.7, 6.35, 7.62]
Mais je n'ai pas le résultat attendu avec le même code sur Edabit même en mettant les deux dernier nombre non entier
Liste originale : ['1.5', '4.22', '3.7', '6.35', '7.62']
liste finale : [1.5, 4.22, 3.7, 6.35, 7.62]
finale de la liste : [1.0, 2.0]
ÉCHEC : Aucun ne doit être égal à [1, 2]
ERREUR : Retraçage :
dans <module>
Fichier « ./frameworks/python/cw-2.py », ligne 28, dans assert_equals
expect(actual == expected, message, allow_raise)
Fichier « ./frameworks/python/cw-2.py », ligne 18, dans expect
raise AssertException(message)
cw-2. AssertException : Aucun ne doit être égal à [1, 2]
dans le résultat, j'ai la ligne en gras qui s'affiche en plus et elle semble tout faire planter
Merci
Liste originale : ['1.5', '4.22', '3.7', '6.35', '7.62']
liste finale : [1.5, 4.22, 3.7, 6.35, 7.62]
Mais je n'ai pas le résultat attendu avec le même code sur Edabit même en mettant les deux dernier nombre non entier
Liste originale : ['1.5', '4.22', '3.7', '6.35', '7.62']
liste finale : [1.5, 4.22, 3.7, 6.35, 7.62]
finale de la liste : [1.0, 2.0]
ÉCHEC : Aucun ne doit être égal à [1, 2]
ERREUR : Retraçage :
dans <module>
Fichier « ./frameworks/python/cw-2.py », ligne 28, dans assert_equals
expect(actual == expected, message, allow_raise)
Fichier « ./frameworks/python/cw-2.py », ligne 18, dans expect
raise AssertException(message)
cw-2. AssertException : Aucun ne doit être égal à [1, 2]
dans le résultat, j'ai la ligne en gras qui s'affiche en plus et elle semble tout faire planter
Merci