Définition des variables globales
Exclusif Premium
Débloquez votre potentiel ! ✨
Cette session fait partie de notre programme Premium exclusif
+100h de formations exclusives
+180 exercices de code avancés
+100h de mentorats en réécriture
20 projets guidés pas à pas
Mentorats groupés hebdomadaires
Support individuel avec nos mentors
Prêt à passer au niveau supérieur ?
Découvrez tous les avantages Premium et transformez votre apprentissage dès aujourd'hui!
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compteToutes les questions

Laurent GAUVRIT
13 janvier 2025
Résolue
1 réponse
Question sur l'usage des majuscules dans les variables
Bonjour
dans PEP8, on trouve le paragraphe suivant sur les constantes:
"Constants
Constants are usually defined on a module level and written in all capital letters with underscores separating words. Examples include MAX_OVERFLOW and TOTAL."
pouquoi écrivez vous vos variables (ENEMY_HEALTH...) comme si c'était des constantes ?
cordialement
LG

Alexis
5 mai 2024
Résolue
3 réponses
utilisation de variables globales
Bonjour,
je ne comprends pas bien l'utilisation de variables globales ici. En effet pacdev expliquait lors d'un des exercices précédents que si la variable était amené à ne PAS être modifiée alors on utilisait une variable globale.
Or sur cet exercices que ce soit les pv ou le stock de potion ou même le skip_turn ces variables vont être modifiées. Donc pourquoi quand même les qualifier de globales et les mettre en majuscule ?

Moïse Kouman
11 mars 2023
Résolue
10 réponses
Exercice du jeu de rôle
Bonjour ! Je me suis bloqué à cet exercice de jeu de rôle dans le terminal. Avant de voir le corrigé je pose mon problème. Mon code n'a pas marché et je le savais d'avance car il manque de logique dans le déroulé de mon script. Je le mets ici tout de même, s' il y a des suggestions à me faire, des conseils à prendre en compte pour une bonne logique, des concepts à revoir pour au moins être sur le chemin de la résolution du problème, je vois que j'ai encore à faire pour appréhender les concepts de bases. Mercifrom random import randint
# Le but de ce projet est de créer un jeu de rôle textuel dans le terminal.
choix_joueur = ""
# Le jeu comporte deux joueurs : vous et un ennemi.
"""Deux variables joueur & ennemi"""
# Vous commencez tous les deux avec 50 points de vie.
point_vie_ennemi = point_vie_joueur = 50
# Votre personnage dispose de 3 potions qui vous permettent de récupérer des points de vie.
""" joueur/ 03 potions """
nombre_potion = 0
# L'ennemi ne dispose d'aucune potion.
"""ennemi/ 0 potion"""
# Chaque potion vous permet de récupérer un nombre aléatoire de points de vie, compris entre 15 et 50.
potion = randint(15, 50)
# Votre attaque inflige à l'ennemi des dégâts aléatoires compris entre 5 et 10 points de vie.
degat_joueur = randint(5, 10)
# L'attaque de l'ennemi vous inflige des dégâts aléatoires compris entre 5 et 15 points de vie.
degat_ennemi = randint(5, 15)
while point_vie_joueur and point_vie_ennemi > 0 :
input("Souhaitez-vous attaquer (1) ou utiliser une potion (2) ? ")
if not choix_joueur.isdigit() and not 1 or not 2:
print("Veuillez mettre un choix valide")
continue
point_vie_restant_joueur = ""
point_vie_restant_ennemi = ""
# Lorsque vous utilisez une potion, vous passez le prochain tour.
if choix_joueur == 1 :
point_vie_restant_joueur = point_vie_joueur - degat_ennemi
point_vie_restant_ennemi = point_vie_ennemi - degat_joueur
print(f"Vous avez infligé {degat_joueur} points de dégâts à l'ennemi 📍")
print(f"L'ennemi vous a infligé {degat_ennemi} points de dégâts 📍")
print(f"Il vous reste {point_vie_restant_joueur} points de vie 💚")
print(f"Il reste {point_vie_restant_ennemi} de vie à l'ennemi 💚")
elif choix_joueur == 2:
while nombre_potion > 3:
print("vous ne disposez plus de potion")
continue
while nombre_potion < 3 :
point_vie_restant_joueur = point_vie_joueur + potion
point_vie_restant_joueur = point_vie_restant_joueur + potion
point_vie_restant_joueur = point_vie_joueur - degat_ennemi
print(f"L'ennemi vous a infligé {degat_ennemi} dégâts de vie point_vie_restant_joueur = point_vie_restant_joueur + potion📍")
print(f"Il vous reste {point_vie_restant_joueur} de vies 💚")
print(f"Il reste {point_vie_restant_ennemi} de vies 💚")
potion += 1
if int(point_vie_restant_joueur) < 0 :
print("Vous avez perdu la partie 💘")
if int(point_vie_restant_ennemi) < 0 :
print("L'enemi a perdu la partie 💘")
print("➖" * 30)
00:00:00 :Dans cette vidéo qui risque d'être un peu longue, on va explorer ensemble ma solutionà ce projet de jeu de rôle dans lequel vous devez combattre un ennemi.
00:00:10 :Alors vous connaissez le refrain, il y a des centaines de façons de faire ce genre de script,surtout quand on commence à avoir pas mal de lignes de code comme ici.
00:00:18 :Donc moi c'est ma façon de faire, il y a probablement des choses qui peuvent être améliorées,des choses que vous aurez faites différemment, mais ce n'est pas grave,l'important c'est d'avoir un script qui fonctionne et qui quand même ne soit pas trop horrible au niveau du code,mais pour ça quand on apprend forcément on ne peut pas avoir le code le plus beau du monde,
00:00:35 :l'important c'est déjà d'avoir quelque chose qui fonctionne,et avec ma solution j'espère que vous pourrez voir différentes façons de résoudre ce problème.Donc la première chose que je fais c'est d'importer le module random,puisqu'on va devoir générer des nombres aléatoires pour l'attaque et pour le nombre de points de vie
00:00:52 :qu'on va pouvoir récupérer avec une potion.Donc les imports on les fait tout au début du fichier,donc je mets déjà cet import ici et par la suite on utilisera la fonction rendint du module randomdans la boucle principale du jeu.
00:01:04 :Ensuite j'ai un nombre de variables globales ici,qui sont définies directement au premier niveau de mon script,et qui vont me servir là encore à l'intérieur de la boucle du jeu.
00:01:13 :Donc j'ai les points de vie de l'ennemi, les points de vie du joueur,également le nombre de potions,et également une variable que j'ai appelée skipTurn,qui va me permettre de savoir si je dois passer un tour ou non,puisque dans l'énoncé je vous avais dit que quand on utilise une potion,
00:01:30 :le joueur va passer le tour d'après.Donc on a besoin d'avoir une variable qui va contenir cet étatpour pouvoir à l'intérieur de notre boucle savoir si l'utilisateur doit passer son tour ou non.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.