Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur python

ValueError: invalid literal for int() with base 10:

Sujet résolu
5 janvier 2022 à 11:30:46

Bonjour je débute avec Python et j'obtient une erreur "ValueError: invalid literal for int() with base 10:".

J'arrive pas a comprendre pourquoi? Si vous pouvez m'aider je vous remercie.

Voici le code

class ComptBancaire:
def __init__(self, solde = 0):
self.solde = solde

def retrait(self, retrait_bancaire=int('retrait_desire')):
self.solde -= retrait_bancaire

def depot(self, depot_bancaire=int('depot_desire')):
self.solde += depot_bancaire

retrait_desire = 0
depot_desire = 0
reponse = 'd'

jeremy = ComptBancaire(35)
response = input('Bonjour quelle operation voulez vous effectuer\n a: Retrait \n b: Depot \n')

if reponse == 'a':
retrait_desire = int(input('Combien voulais vous retirer?'))
print(jeremy.retrait())


elif reponse == 'b':
depot_desire = int(input('Combien voulais vous deposer?'))
print(jeremy.depot())
Message d'erreur
File "C:\Users\j.guez\PycharmProjects\pythonEXO\main.py", line 5, in ComptBancaire def retrait(self, retrait_bancaire=int('retrait_desire')): ValueError: invalid literal for int() with base 10: 'retrait_desire'
  • Partager sur Facebook
  • Partager sur Twitter
5 janvier 2022 à 12:12:40

Tu utilise int pour convertir un str en int.

Mais ça ne marche pas avec le str 'retrait_desire' car ça ne représente pas un nombre

  • Partager sur Facebook
  • Partager sur Twitter
5 janvier 2022 à 14:06:11

D'accord je te remercie ci je comprend bien mon 'retrait_desire' sera converti en int à ce moment là?

retrait_desire = int(input('Combien voulais vous retirer?'))

Par contre j'obtient cette erreur après avoir corrigé le problème avec le int.

Je comprend pas pourquoi si qqu peut m'aider ce serait top. 

line 15, in ComptBancaire

    jeremy = ComptBancaire(35)

NameError: name 'ComptBancaire' is not defined

-
Edité par JeReM.g 5 janvier 2022 à 14:10:11

  • Partager sur Facebook
  • Partager sur Twitter
5 janvier 2022 à 14:14:52

Comme vous n'avez pas posté votre code proprement, difficile de voir où sont les indentations et dans quels blocs sont les différentes instructions...
  • Partager sur Facebook
  • Partager sur Twitter
5 janvier 2022 à 14:29:09

JeReM.g a écrit:

D'accord je te remercie ci je comprend bien mon 'retrait_desire' sera converti en int à ce moment là?

Je parle de cette ligne là :

def retrait(self, retrait_bancaire=int('retrait_desire')):

dedans il y a

int('retrait_desire')

et ça, ça plante forcément


  • Partager sur Facebook
  • Partager sur Twitter
5 janvier 2022 à 22:00:09

JeReM.g a écrit:

Par contre j'obtient cette erreur après avoir corrigé le problème avec le int.

Je comprend pas pourquoi si qqu peut m'aider ce serait top. 

line 15, in ComptBancaire

    jeremy = ComptBancaire(35)

NameError: name 'ComptBancaire' is not defined

-

Tu as toujours cette erreur???





  • Partager sur Facebook
  • Partager sur Twitter