Aditionnement de variable
Résolu/Fermé
frères
Messages postés
49
Date d'inscription
dimanche 12 août 2012
Statut
Membre
Dernière intervention
23 juin 2015
-
6 janv. 2014 à 21:26
nidhogg-59 Messages postés 102 Date d'inscription mercredi 20 juin 2012 Statut Membre Dernière intervention 5 décembre 2015 - 11 janv. 2014 à 09:38
nidhogg-59 Messages postés 102 Date d'inscription mercredi 20 juin 2012 Statut Membre Dernière intervention 5 décembre 2015 - 11 janv. 2014 à 09:38
A voir également:
- Aditionnement de variable
- Formule excel plage de données variable ✓ - Forum Excel
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Word
- Variable TEMP ✓ - Forum Windows 10
- Variable d'environnement TEMP ✓ - Forum Windows 7
- Vérifiez la variable d'environnement TEMP. QUE FAIRE ????? ✓ - Forum Microsoft Office
4 réponses
Utilisateur anonyme
6 janv. 2014 à 21:32
6 janv. 2014 à 21:32
Salut, ta variable n'existe pas dans la portée du if. Avant toute chose, déclare les variables comme :
ATKarmeheros = 0
Python laisse pas mal de libertés mais il faut aussi de bonnes pratiques :-)
ATKarmeheros = 0
Python laisse pas mal de libertés mais il faut aussi de bonnes pratiques :-)
nidhogg-59
Messages postés
102
Date d'inscription
mercredi 20 juin 2012
Statut
Membre
Dernière intervention
5 décembre 2015
27
Modifié par nidhogg-59 le 8/01/2014 à 19:06
Modifié par nidhogg-59 le 8/01/2014 à 19:06
Comme le dit Rocky_123, ta variable n'existe pas dans cette portion du code.
Tu l'a sûrement créé dans le corps d'une fonction, dans un module externe ou quelque chose comme ça.
Si tu postais tout ton code, ou ne serais-ce que la partie où tu déclare cette variable, ce serait plus simple de trouver le problème, et au passage les classes sont plus qu'utiles dans ce genre de cas!
Tu l'a sûrement créé dans le corps d'une fonction, dans un module externe ou quelque chose comme ça.
Si tu postais tout ton code, ou ne serais-ce que la partie où tu déclare cette variable, ce serait plus simple de trouver le problème, et au passage les classes sont plus qu'utiles dans ce genre de cas!
frères
Messages postés
49
Date d'inscription
dimanche 12 août 2012
Statut
Membre
Dernière intervention
23 juin 2015
1
8 janv. 2014 à 19:08
8 janv. 2014 à 19:08
D'accord voila tout le code :
print ("Combien de PV à le monstre ?")
nbrePVmonstre = int (input() ) ;
print ("Combien d'Attaque à-t'il ?")
nbreATKmonstre = int (input() ) ;
print ("Combien de PM à le monstre ?")
nbrePMmonstre = int (input() ) ;
print ("Combien de Puissance à-t'il ?")
nbrePUISmonstre = int (input() ) ;
print ("Combien de Defence à-t'il ?")
nbreDEFmonstre = int (input() ) ;
print ("Combien d'Agilité à-t'il ?")
nbreAGImonstre = int (input() ) ;
print ("Combien de Magie à-t'il ?")
nbreMAGmonstre = int (input() ) ;
print ("Combien de PV à le Héros ?")
nbrePVhéros = int (input() ) ;
print ("Combien d'Attaque à-t'il ?")
nbreATKhéros = int (input() ) ;
print ("Combien de PM à le Héros ?")
nbrePMhéros = int (input() ) ;
print ("Combien de Puissance à-t'il ?")
nbrePUIShéros = int (input() ) ;
print ("Combien de Defence à-t'il ?")
nbreDEFhéros = int (input() ) ;
print ("Combien d'Agilité à-t'il ?")
nbreAGIhéros = int (input() ) ;
print ("Combien de Magie à-t'il ?")
nbreMAGhéros = int (input() ) ;
print ("Es-ce que le héros à une arme ?")
print ("1- Oui")
print ("2- Non")
siarmehéros = int (input() ) ;
if ( siarmehéros == 1 ) :
print ("Combien à-t-elle d'Attaque")
ATKarmehéros = int (input() ) ;
else :
print ("D'accord pas d'arme")
print ("Que veut tu faire ?")
print ("Tu peut :")
print ("1 = Attaquer avec ton arme")
print ("2 = Attaquer avec de la magie")
print ("3 = Te Défendre")
print ("Tape juste le chiffre")
actionhéros = int (input() ) ;
if (actionhéros == 1) :
Nombredégatattaquearme = ATKarmehéros +((nbrePUIShéros/2) +(nbreATKhéros/2)) - ((nbreDEFmonstre/2) + (nbreAGImonstre/2))
print ("Tu attaque :")
print(Nombredégatattaquearme)
nbrePVmonstre = nbrePVmonstre - Nombredégatattaquearme
print ("Il reste au monstre :")
print (nbrePVmonstre)
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
8 janv. 2014 à 19:36
8 janv. 2014 à 19:36
Slt,
Il n'y a pas de correcteur orthographique en Python ... c'est dommage, parce que ça pique les yeux ....
:o|
Il n'y a pas de correcteur orthographique en Python ... c'est dommage, parce que ça pique les yeux ....
:o|
nidhogg-59
Messages postés
102
Date d'inscription
mercredi 20 juin 2012
Statut
Membre
Dernière intervention
5 décembre 2015
27
Modifié par nidhogg-59 le 9/01/2014 à 01:21
Modifié par nidhogg-59 le 9/01/2014 à 01:21
@Polux31 : Quelle réponse utile, et même si c'est vrai qu'il y des erreurs, c'est pas vraiment le sujet...
Sinon, pour ce qui est de ta variable existante/inexistante:
Tu déclare ta variable ATKarmehéros uniquement dans le cas où siarmehéros vaut 1, dans l'autre cas, elle n'est pas déclarée; c'est là ton erreur.
Tu devrais faire une fonction dans laquelle tu initialises toutes tes variables à 0, appelée en début de jeu ou quand le jeu est fini et que tu recommences une partie.
Si tu ne veux pas, tu peux simplement mettre ta variable ATKarmehéros à 0 quand il n'a pas d'arme:
Voilà, j'espère avoir réglé le problème! =)
Ps: Attention, normalement les variables n'ont pas d'accent (dans tous les cas) ni de majuscules (sauf pour les classes qui ont une maj au début et constantes qui sont entièrement en maj).
Voilà! Si t'as d'autres questions n'hésite pas!
Sinon, pour ce qui est de ta variable existante/inexistante:
Tu déclare ta variable ATKarmehéros uniquement dans le cas où siarmehéros vaut 1, dans l'autre cas, elle n'est pas déclarée; c'est là ton erreur.
Tu devrais faire une fonction dans laquelle tu initialises toutes tes variables à 0, appelée en début de jeu ou quand le jeu est fini et que tu recommences une partie.
def init(): return 0, 0, ..., 0 nbrePVmonstre, nbreATKmonstre, ..., ATKarmehéros = init()
Si tu ne veux pas, tu peux simplement mettre ta variable ATKarmehéros à 0 quand il n'a pas d'arme:
else : print ("D'accord pas d'arme") ATKarmehéros = 0
Voilà, j'espère avoir réglé le problème! =)
Ps: Attention, normalement les variables n'ont pas d'accent (dans tous les cas) ni de majuscules (sauf pour les classes qui ont une maj au début et constantes qui sont entièrement en maj).
Voilà! Si t'as d'autres questions n'hésite pas!
frères
Messages postés
49
Date d'inscription
dimanche 12 août 2012
Statut
Membre
Dernière intervention
23 juin 2015
1
Modifié par frères le 9/01/2014 à 19:09
Modifié par frères le 9/01/2014 à 19:09
Comment je peut faire pour recommencer un tour sans tout remettre ?
Sinon c'a marche super merci !!!
Sinon c'a marche super merci !!!
nidhogg-59
Messages postés
102
Date d'inscription
mercredi 20 juin 2012
Statut
Membre
Dernière intervention
5 décembre 2015
27
Modifié par nidhogg-59 le 9/01/2014 à 21:43
Modifié par nidhogg-59 le 9/01/2014 à 21:43
Avec une boucle while , tu devrais t'en sortir:
en gros ton programme va boucler sur tout ton code tant que fini vaut 0.
A toi de te débrouiller pour changer cette variable grâce au une question genre:
Si tu n'as pas envie de redemander à chaque fois les caractéristiques de ton perso,
tu peux faire boucler ton code juste sur la portion où tu demandes les pdv de l'ennemi et le moteur de jeu.
fini=0 while not fini: print ("Combien de PV à le monstre ?") nbrePVmonstre = int (input() ) ; print ("Combien d'Attaque à-t'il ?") nbreATKmonstre = int (input() ) ; ... if (actionhéros == 1) : Nombredégatattaquearme = ATKarmehéros +((nbrePUIShéros/2) +(nbreATKhéros/2)) - ((nbreDEFmonstre/2) + (nbreAGImonstre/2)) print ("Tu attaque :") print(Nombredégatattaquearme) nbrePVmonstre = nbrePVmonstre - Nombredégatattaquearme print ("Il reste au monstre :") print (nbrePVmonstre)
en gros ton programme va boucler sur tout ton code tant que fini vaut 0.
A toi de te débrouiller pour changer cette variable grâce au une question genre:
fini=int(input("voulez-vous continuer? 0=oui; 1=non"))
Si tu n'as pas envie de redemander à chaque fois les caractéristiques de ton perso,
tu peux faire boucler ton code juste sur la portion où tu demandes les pdv de l'ennemi et le moteur de jeu.
frères
Messages postés
49
Date d'inscription
dimanche 12 août 2012
Statut
Membre
Dernière intervention
23 juin 2015
1
10 janv. 2014 à 15:48
10 janv. 2014 à 15:48
Comment on "boucle" ?
nidhogg-59
Messages postés
102
Date d'inscription
mercredi 20 juin 2012
Statut
Membre
Dernière intervention
5 décembre 2015
27
Modifié par nidhogg-59 le 11/01/2014 à 08:15
Modifié par nidhogg-59 le 11/01/2014 à 08:15
bah je l'ai écrit: avec le mot-clé while.
tu met
Et tant que la condition est respectée, ça va boucler sur le code.
Comment est-ce que tu apprends la programmation?
tu met
while condition: code ...
Et tant que la condition est respectée, ça va boucler sur le code.
Comment est-ce que tu apprends la programmation?
frères
Messages postés
49
Date d'inscription
dimanche 12 août 2012
Statut
Membre
Dernière intervention
23 juin 2015
1
Modifié par frères le 11/01/2014 à 08:38
Modifié par frères le 11/01/2014 à 08:38
Je l'ai appris il y a longtemps et je ne me souviens plus de tout
sinon merci
.
sinon merci
.
8 janv. 2014 à 15:33