A voir également:
- __init__() takes 2 positional arguments but 3 were given
- Typeerror: unsupported operand type(s) for -: 'str' and 'str' ✓ - Forum Python
- Fatal error: uncaught typeerror: unsupported operand types: string + int ✓ - Forum PHP
- Typeerror: client.__init__() missing 1 required keyword-only argument: 'intents' ✓ - Forum Python
- Typeerror: 'float' object is not subscriptable - Forum Python
- Uncaught typeerror: cannot read properties of null (reading 'classlist') ✓ - Forum Javascript
8 réponses
Utilisateur anonyme
19 mars 2022 à 19:20
19 mars 2022 à 19:20
Bonjour
En Python, l’indentation est primordiale, or par défaut le site ne la conserve pas.
Pour la conserver il faut utiliser les balises de code. Voir ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
On pourra commencer à essayer de t’aider quand tu auras reposté correctement ton code.
En Python, l’indentation est primordiale, or par défaut le site ne la conserve pas.
Pour la conserver il faut utiliser les balises de code. Voir ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
On pourra commencer à essayer de t’aider quand tu auras reposté correctement ton code.
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
20 mars 2022 à 10:03
20 mars 2022 à 10:03
Bonjour,
"il se contredit"
En fait un programme ne se contredit jamais, il fait exactement ce que tu lui a dit de faire :-)
"il se contredit"
En fait un programme ne se contredit jamais, il fait exactement ce que tu lui a dit de faire :-)
jee pee
Messages postés
40801
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
16 février 2025
9 525
Modifié le 19 mars 2022 à 18:10
Modifié le 19 mars 2022 à 18:10
Bonjour,
Une question toute bête, il y a peut être une raison, mais pourquoi les paramètres sur la définition de tes fonctions se terminent par une virgule sans rien derrière ?
Une question toute bête, il y a peut être une raison, mais pourquoi les paramètres sur la définition de tes fonctions se terminent par une virgule sans rien derrière ?
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
Ambassadeur
1 568
19 mars 2022 à 20:54
19 mars 2022 à 20:54
bonjour,
Ces deux erreurs sont présentes dans ton code, à des endroits différents.
J'y ai vu trois autres erreurs.
Ces deux erreurs sont présentes dans ton code, à des endroits différents.
J'y ai vu trois autres erreurs.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questiondef main(): class parent: def __init__(self, var1, ): self.var1 = 1 print(var1) class kid(parent): def __init__(self, var3, var4, var1, ): super().__init__(self, var1, ) self.var3 = var3 self.var4 = var4 print(var1, var3, var4) result = kid(1, 2, 5) if __name__ == '__main__': main()
Utilisateur anonyme
20 mars 2022 à 17:44
20 mars 2022 à 17:44
lorsque je mets une valeur mon terminal m'indique qu'il y a une valeur de trop
lorsque je retires cette valeur il me dit qu'il en manque une.
le 5 en gras italique souligné est la valeur qui pose problème
Quand je teste de mon coté, sans les virgules (au moins pour écrire du code propre), je ne fais pas le même constat.
Tu devrais bien lire les indications de ton IDE dans chaque cas.
C_Dedev
Messages postés
13
Date d'inscription
dimanche 20 mars 2022
Statut
Membre
Dernière intervention
19 août 2022
20 mars 2022 à 18:04
20 mars 2022 à 18:04
Rebonjour,
De mon coté, que j'enlève les virgules ou pas la réponse est toujours la même.
Pour confirmer que j'ai bien compris, j'ai passé les réponses au traducteur.
(Il semblerait que oui)
Je peut vous envoyer les réponses fournies par mon IDE si cela peut vous aider.
De mon coté, que j'enlève les virgules ou pas la réponse est toujours la même.
Pour confirmer que j'ai bien compris, j'ai passé les réponses au traducteur.
(Il semblerait que oui)
Je peut vous envoyer les réponses fournies par mon IDE si cela peut vous aider.
Utilisateur anonyme
>
C_Dedev
Messages postés
13
Date d'inscription
dimanche 20 mars 2022
Statut
Membre
Dernière intervention
19 août 2022
20 mars 2022 à 18:16
20 mars 2022 à 18:16
Oui tu peux les envoyer.
C_Dedev
Messages postés
13
Date d'inscription
dimanche 20 mars 2022
Statut
Membre
Dernière intervention
19 août 2022
>
Utilisateur anonyme
Modifié le 20 mars 2022 à 18:29
Modifié le 20 mars 2022 à 18:29
Sans la valeur problématique
Avec la valeur
IDE:PyCharm (2021.3.2)
C:\Users\alan-\PycharmProjects\pythonProject\venv\Scripts\python.exe C:/Users/alan-/PycharmProjects/pythonProject/test.py Traceback (most recent call last): File "C:\Users\alan-\PycharmProjects\pythonProject\test.py", line 21, in <module> main() File "C:\Users\alan-\PycharmProjects\pythonProject\test.py", line 17, in main result = kid(1, 2, 5) File "C:\Users\alan-\PycharmProjects\pythonProject\test.py", line 11, in __init__ super().__init__(self, var1) TypeError: __init__() takes 2 positional arguments but 3 were given Process finished with exit code 1
Avec la valeur
C:\Users\alan-\PycharmProjects\pythonProject\venv\Scripts\python.exe C:/Users/alan-/PycharmProjects/pythonProject/test.py Traceback (most recent call last): File "C:\Users\alan-\PycharmProjects\pythonProject\test.py", line 21, in <module> main() File "C:\Users\alan-\PycharmProjects\pythonProject\test.py", line 17, in main result = kid(1, 2) TypeError: __init__() missing 1 required positional argument: 'var1' Process finished with exit code 1
IDE:PyCharm (2021.3.2)
Utilisateur anonyme
>
C_Dedev
Messages postés
13
Date d'inscription
dimanche 20 mars 2022
Statut
Membre
Dernière intervention
19 août 2022
20 mars 2022 à 18:23
20 mars 2022 à 18:23
Tu écris
Mais ça n’est pas ce que te dit ton ide la première fois.
le 5 en gras italique souligné est la valeur qui pose problème
Mais ça n’est pas ce que te dit ton ide la première fois.
C_Dedev
Messages postés
13
Date d'inscription
dimanche 20 mars 2022
Statut
Membre
Dernière intervention
19 août 2022
>
Utilisateur anonyme
20 mars 2022 à 18:27
20 mars 2022 à 18:27
Je veux bien mais à ce que je sache l'endroit d'où viennent les valeurs c'est la ligne 17.
Donc si vous voulez bien développer...
Donc si vous voulez bien développer...
C_Dedev
Messages postés
13
Date d'inscription
dimanche 20 mars 2022
Statut
Membre
Dernière intervention
19 août 2022
20 mars 2022 à 18:38
20 mars 2022 à 18:38
Je suis pas très fort en devinette mais comme ca je dirais que l'ide indique un problème a trois endroits dans le premier résultat et seulement 2 dans le deuxième
a partir de là je peut définir en tant qu'amateur qui développe en pur code depuis 2 semaines
(et qui donc par conséquent n'a peut être pas bien capté la façon dont l'ide s'exprime)
soit il y a deux erreurs, une a la ligne 17 et une a la ligne 11 (scénario le plus probable au vu de votre réaction)
soit il y a une erreur a la ligne 11 impliquant la ligne 17
a partir de là je peut définir en tant qu'amateur qui développe en pur code depuis 2 semaines
(et qui donc par conséquent n'a peut être pas bien capté la façon dont l'ide s'exprime)
soit il y a deux erreurs, une a la ligne 17 et une a la ligne 11 (scénario le plus probable au vu de votre réaction)
soit il y a une erreur a la ligne 11 impliquant la ligne 17
Oui, c’est un peu ta seconde option.
Maintenant que tu as commencé à regarder et pas juste jeter un coup d’œil, on peut commencer à t’expliquer.
Maintenant que tu as commencé à regarder et pas juste jeter un coup d’œil, on peut commencer à t’expliquer.
#cette ligne se passe de commentaires C:\Users\alan-\PycharmProjects\pythonProject\venv\Scripts\python.exe C:/Users/alan-/PycharmProjects/pythonProject/test.py #là l’IDE t’informe qu’il va te montrer les derniers appels, c’est à dire les étapes du code qu’il a exécutées et qui sautent d’un endroit à l’autre du code Traceback (most recent call last): #premier appel, à la.ligne 21 File "C:\Users\alan-\PycharmProjects\pythonProject\test.py", line 21, in <module> main() #second appel à la ligne 17 File "C:\Users\alan-\PycharmProjects\pythonProject\test.py", line 17, in main result = kid(1, 2, 5) #3eme appel à la ligne 1q File "C:\Users\alan-\PycharmProjects\pythonProject\test.py", line 11, in __init__ super().__init__(self, var1) #et maintenant, il t’annonce l’erreur qu’il a rencontrée lors du 3eme appel TypeError: __init__() takes 2 positional arguments but 3 were given #et ici ce que ça donne sur le programme final: il s’est arrêté en disant « 1 » qui signifie ça n’a pas marché Process finished with exit code 1
C_Dedev
Messages postés
13
Date d'inscription
dimanche 20 mars 2022
Statut
Membre
Dernière intervention
19 août 2022
>
Utilisateur anonyme
20 mars 2022 à 20:27
20 mars 2022 à 20:27
Si je suis pas trop con je devrais avoir compris
mais reste a trouver comment arranger ca (et là!,je suis trop con)
Ps:sur les deux semaines depuis lesquelles j'ai commencé le python il y a quand même trois jours de recherches sur le
j'ai toujours pas compris !
mais reste a trouver comment arranger ca (et là!,je suis trop con)
Ps:sur les deux semaines depuis lesquelles j'ai commencé le python il y a quand même trois jours de recherches sur le
super().
j'ai toujours pas compris !
Utilisateur anonyme
>
C_Dedev
Messages postés
13
Date d'inscription
dimanche 20 mars 2022
Statut
Membre
Dernière intervention
19 août 2022
20 mars 2022 à 20:50
20 mars 2022 à 20:50
Un peu de lecture
https://codes-sources.commentcamarche.net/forum/affich-10107769-message-a-tous-les-debutants-souvent-autodidactes
https://codes-sources.commentcamarche.net/forum/affich-10107769-message-a-tous-les-debutants-souvent-autodidactes
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
1 568
>
C_Dedev
Messages postés
13
Date d'inscription
dimanche 20 mars 2022
Statut
Membre
Dernière intervention
19 août 2022
20 mars 2022 à 21:01
20 mars 2022 à 21:01
pourquoi utilises-tu ainsi des classes sans les comprendre?
ne serait-il pas préférable de commencer avec des programmes plus simples?
ne serait-il pas préférable de commencer avec des programmes plus simples?
Utilisateur anonyme
>
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
20 mars 2022 à 21:40
20 mars 2022 à 21:40
d'où le lien dans le message 24 ;)
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
Modifié le 21 mars 2022 à 11:16
Modifié le 21 mars 2022 à 11:16
Bonjour,
Ca marche mieux ainsi:
Ca marche mieux ainsi:
def main(): class parent: def __init__(self, var1): self.var1 = var1 class kid(parent): def __init__(self, var1,var2,var3): super().__init__(var1) self.var2 = var2 self.var3 = var3 def __repr__(self): return('{} {} {}'.format(self.var1,self.var2,self.var3)) result = kid(1,2,3) print(result) if __name__ == '__main__': main()
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
1 568
21 mars 2022 à 11:15
21 mars 2022 à 11:15
ou:
super().__init__( var1)
20 mars 2022 à 16:53