Programme Python ne fonctionne pas

Résolu/Fermé
johnnybill Messages postés 1 Date d'inscription mercredi 19 janvier 2022 Statut Membre Dernière intervention 19 janvier 2022 - 19 janv. 2022 à 19:51
mamiemando Messages postés 33093 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2024 - 21 janv. 2022 à 16:46
Bonjour, j'ai suivi une video pour faire ce programme Python mais il ne marche absolument pas, quelqu'un aurait une solution?




Configuration: Windows / Firefox 96.0

4 réponses

NHenry Messages postés 15118 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 11 mai 2024 332
19 janv. 2022 à 20:06
Hormis le fait que l'erreur est claire sur le problème.

Merci d'utiliser la coloration syntaxique : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
jee pee Messages postés 39712 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 12 mai 2024 9 270
19 janv. 2022 à 20:09
Bonjour,

Juste en se référant au message d'erreur il est indiqué que def étant un bloc dépendant de class il devrait devrait être indenté, pas au même niveau que class
0
Whismeril Messages postés 19040 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 9 mai 2024 932
19 janv. 2022 à 21:06
Bonsoir

on ne le dira jamais assez, les vidéo c'est pas le pied pour apprendre la programmation.
https://forums.commentcamarche.net/forum/affich-36859630-cours-sur-le-c#10 j'avais exposé plus ou moins le fond de ma pensée sur le sujet.
Dans ton cas, on pourrait ajouter que mettre la vidéo en pause pour recopier le code donne généralement une image floue (dès qu'il y'a compression y'a perte mais le cerveau intègre plusieurs images de suite et l'image reste visuellement nickel) donc moins facile à recopier. Sur un site ou un pdf, on peut faire un copier coller...
0
mamiemando Messages postés 33093 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2024 7 752
Modifié le 21 janv. 2022 à 16:48
Bonjour,

Comme le dit fort justement NHenry : merci de ne pas mettre de capture d'écran quand c'est possible et plutôt de copier coller le code et l'éventuel message d'erreur en utilisant les balises de codes.

Comme l'indique for justement ton IDE, NHenry et jeepee, ton code est mal indenté. Si l'indentation est recommandée dans la plupart des langages, elle est obligatoire en python car selon elle, le code n'est pas compris de la même façon par python.

En terme de tutoriel, mettre un print dans le constructeur est discutable car tu n'as pas forcément envie d'écrire un message quand tu crées un joueur. Ensuite je te recommande de systématiquement mettre le shebang en début de fichier et la ligne qui autorise l'utilisation de caractères UTF-8 voir ci-dessous.

Dans ton cas le code devrait donc ressembler à ceci :

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

class Player():
    def __init__(self, pseudo, health, attack):
        self.pseudo = pseudo
        self.health = health
        self.attack = attack
    def __str__(self):
        return f"Joueur {self.pseudo}, attaque {self.attack}, santé {self.health}"

p1 = Player("Joueur 1", 20, 3)
print(p1)
p2 = Player("Joueur 2", 10, 6)
print(p2)

ce qui donne :
Joueur Joueur 1, attaque 3, santé 20
Joueur Joueur 2, attaque 6, santé 10

Bonne chance
0