Erreur python
Higevi34
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Phil_1857 Messages postés 1872 Date d'inscription Statut Membre Dernière intervention -
Phil_1857 Messages postés 1872 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai un petit problème dans mon algorithme en python à cause de cette erreur :
"TypeError: can't multiply sequence by non-int of type 'str'".
Je vous envoie ici le code en question pour que vous puissiez le visualiser.
Le problème est que je ne vois pas où est la faute. Je m'explique :
J'ai convertis tout mes valeurs en flottant car de base certains était en integer et je croyais que le fait de faire des calculs entre types différents était la source de l'erreur mais voilà que non.
Merci d'avance pour vos réponses !
J'ai un petit problème dans mon algorithme en python à cause de cette erreur :
"TypeError: can't multiply sequence by non-int of type 'str'".
Je vous envoie ici le code en question pour que vous puissiez le visualiser.
CalorieAliment = 0.0
print(type(CalorieAliment))
ListeCalorie = {"Haricot vert":"0.31", "Carotte":"0.41","Pomme de terre":"0.73", "Courgette":"0.165", "Poireau":"0.32"}
ListePoid = {"Haricot vert":"1.0", "Carotte":"125.0","Pomme de terre":"160.0", "Courgette":"250.0", "Poireau":"150.0" }
Demande = int(input("Combien d'aliments voulez-vous consommé ? "))
for i in range(Demande) :
CalorieAliment = str(CalorieAliment)
Repas = input('Entrez votre aliment : ')
Unite = str(input('Unité : '))
for legume,calorie in ListeCalorie.items():
if legume == Repas :
Calorie = str(calorie)
for leguma, poid in ListePoid.items() :
if leguma == Repas :
Poid = str(poid)
print(Poid, type(Poid), type(Calorie), Calorie, 2.0*2.0)
CalorieAliment = CalorieAliment + Calorie*(Unite*Poid)
print(CalorieAliment)
Le problème est que je ne vois pas où est la faute. Je m'explique :
J'ai convertis tout mes valeurs en flottant car de base certains était en integer et je croyais que le fait de faire des calculs entre types différents était la source de l'erreur mais voilà que non.
Merci d'avance pour vos réponses !
A voir également:
- Erreur python
- Citizen code python - Accueil - Outils
- Erreur 0x80070643 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
2 réponses
Bonjour,
Merci de re poster ton code avec les balises de code, mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci :
Quand on teste ton code, que faut il répondre à la question "Unité ?"
Tu devrais le documenter dans la question, que l'on sache quoi entrer
Il faut écrire "Combien d'aliments voulez-vous consommer ?"
au lieu de
"Combien d'aliments voulez-vous consommé ?"
Merci de re poster ton code avec les balises de code, mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci :
def test(): print('test') test()
Quand on teste ton code, que faut il répondre à la question "Unité ?"
Tu devrais le documenter dans la question, que l'on sache quoi entrer
Il faut écrire "Combien d'aliments voulez-vous consommer ?"
au lieu de
"Combien d'aliments voulez-vous consommé ?"
Calorie*(Unite*Poid) : tu multiplies des string et non pas des entiers ---> Erreur
Quand tu demandes 'Entrez votre aliment : ', si on entre carotte au lieu de Carotte, le mot n'est pas trouvé dans la liste
-----> Erreur
Moi, j'afficherais une liste des légumes, et je demanderais le numéro:
Quand tu demandes 'Entrez votre aliment : ', si on entre carotte au lieu de Carotte, le mot n'est pas trouvé dans la liste
-----> Erreur
Moi, j'afficherais une liste des légumes, et je demanderais le numéro:
menu = ''' Selectionner: 1 Haricot vert 2 Carotte 3 Poireau > ''' choix = 0 choix = int(input (menu))