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 33367 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 19 novembre 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 15163 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 1 novembre 2024 345
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 40461 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 novembre 2024 9 420
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
Utilisateur anonyme
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 33367 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 19 novembre 2024 7 801
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