Problème définition variable
Résolu
worox
-
jee pee Messages postés 41520 Date d'inscription Statut Modérateur Dernière intervention -
jee pee Messages postés 41520 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
je suis en train de dev un programme pour simplifier des calculs en math sur calculatrice avec Python.
mon code marche normalement correctement mais depuis que je l'ai complexifié en y rajoutant quelque variable en plus, il y a des problème de définition. voila mon code entier
oui ca fait beaucoup de code (120 lignes)
un conseil copie colle se programme sur ta machine pour que ca sois plus simple à regler.
et merci par avance de votre aide.
je suis en train de dev un programme pour simplifier des calculs en math sur calculatrice avec Python.
mon code marche normalement correctement mais depuis que je l'ai complexifié en y rajoutant quelque variable en plus, il y a des problème de définition. voila mon code entier
import math import time msfin = "relancer le programme, pour pouvoir utiliser un autre programme." programme = "programme 3 :" fpro = "pour lancer un programme, taper le chiffre qui lui est attribué" helpro = "pour regarder la liste des programmes, taper 100" pwait = time.sleep(1.7) print("bienvenue sur le programme d'aide en math crée par IDENTITE SUPPRIMEE PAR LA MODERATION") time.sleep(1.7) print(fpro) time.sleep(1.7) print(helpro) pro = int(input("")) if pro == 100: print("liste des programmes :") print("programme 1 : pour Pythagore") print("programme 2 : théorème de Thalès") for a in range(5): print(programme) #time.sleep(0.2) time.sleep(2) print(msfin) if pro == 1: print("bienvenue dans le programme théorème de Pythagore") time.sleep(1.7) print(fpro) time.sleep(1.7) print(helpro) prePyt = int(input("")) if prePyt == 100: print("liste des programmes :") print("programme 1 : calculer l'hypothénuse") time.sleep(0.2) print("programme 2 : calculer un coté différent l'hypothénuse") time.sleep(0.2) print("programme 3 : vérifier si le triangle est rectangle") time.sleep(2) print(msfin) if prePyt == 1: print("bienvenue sur un programme pour calculer l'hypothénuse avec Pythagore") long_adj = int(input("mesure de la longueur adjace : ")) long_opp = int(input("mesure de la longueur opposé : ")) long_adj_carré = adj * adj long_opp_carré = opp * opp pytha_hyp = math.sqrt(adj * adj + opp * opp) print("dans le triangle ___ rectangle en _ ") print("l'hypothénuse est [] ") print("donc d'après le Theorème de Pythagore : ") print("hypothénuse² = adj² + O²") print("on répète meme étape que précédente") print("hypothénuse =") print(long_adj_carré) print("+") print(long_opp_carré) print("hypothénuse² =") print(long_adj_carré + long_opp_carré) print("hypothénus = ") print(pytha_hyp) if prePyt == 2: print("bienvenue sur un programme pour calculer un coté différent l'hypothénuse avec Pythagore :") long_adj_bis = int(input("mesure de la longueur adjace : ")) long_hyp_bis = int(input("mesure de l'hypothénuse : ")) long_adj_bis_carré = long_adj_bis * long_adj_bis long_hyp_bis_carré = long_hyp_bis * long_hyp_bis long_opp_bis = math.sqrt(long_hyp_bis_carré - long_adj_bis_carré) print(long_opp_bis) if prePyt == 3: print("bienvenue sur un programme pour vérifier si le triangle est rectangle avec Pythagore:") long_adj_bis_s = int(input("mesure de la longueur adjace : ")) long_opp_bis_s = int(input("mesure de la longueur opposé : ")) if pro == 2: print("bienvenue dans le programme théorème de Thalès") time.sleep(1.7) print(fpro) time.sleep(1.7) print(helpro) pretha = int(input("")) if pretha == 100: print("liste des programmes :") time.sleep(0.2) print("programme 1 : calculer la longueur d'un droite") time.sleep(0.2) print("programme 2 : vérifier si 2 droites sont parallèles") time.sleep(2) print(msfin)
oui ca fait beaucoup de code (120 lignes)
un conseil copie colle se programme sur ta machine pour que ca sois plus simple à regler.
et merci par avance de votre aide.
Configuration: Windows / Chrome 100.0.4896.88
A voir également:
- Problème définition variable
- Vba range avec variable ✓ - Forum VB / VBA
- Variable d'environnement temp ✓ - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Variable objet ou bloc "with" non définie - Forum VB / VBA
5 réponses
Je ne sais pas où tu veux mettre un else, mais si tu le mets après le if qui plante, ça ne changera rien.
Une option est de commencer ton programme par intialiser les variables à une valeur par défaut.
Mais, avant, je pense qu'il faut te demander, est-ce nécessaire (ou imposé?) d'avoir 3 variables différentes pour choisir quel calcul faire? A mon sens non, mais bon
D'autre part, as tu appris à écrire des fonctions? Si oui, tu devrais y réfléchir
Une option est de commencer ton programme par intialiser les variables à une valeur par défaut.
Mais, avant, je pense qu'il faut te demander, est-ce nécessaire (ou imposé?) d'avoir 3 variables différentes pour choisir quel calcul faire? A mon sens non, mais bon
D'autre part, as tu appris à écrire des fonctions? Si oui, tu devrais y réfléchir
worox
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
9
ok merci pour ton aide. je vais voir ca demain.
Bonjour,
Tu n'as pas détaillé quel est le soucis. Et sur le forum, il faut mettre en forme les codes pour notamment sur Python conserver les indentations. Je l'ai corrigé sur ta question. Pour le futur, la mise en forme des sources, au dessus de la zone d'édition de tes messages, il y a des icônes pour l'enrichissement du texte. Celle qui a cet aspect
Un petit tuto là : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Tu n'as pas détaillé quel est le soucis. Et sur le forum, il faut mettre en forme les codes pour notamment sur Python conserver les indentations. Je l'ai corrigé sur ta question. Pour le futur, la mise en forme des sources, au dessus de la zone d'édition de tes messages, il y a des icônes pour l'enrichissement du texte. Celle qui a cet aspect
<> ▼permet d'appliquer au code, suivant une liste de valeurs, le format correspondant à sa nature (html, Php, C, Python, Shell, ...).
Un petit tuto là : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Bonsoir
peux tu expliquer un peu plus ce qui ne va pas?
PS 120 ligne c'est tout tout tout petit comme programme
peux tu expliquer un peu plus ce qui ne va pas?
PS 120 ligne c'est tout tout tout petit comme programme
Si tu saisis n'importe quoi d'autre que 1 à la première question, jamais prePyt n'obtient de valeur donc quand à la ligne 41, tu essayes de vérifier sa valeur, tu obtiens ce type d'erreur.
Si tu réponds n'importe quoi d'autre que 2 à la première question, c'est preTha qui n'obtient pas de valeur, et donc l'erreur arrive quand tu veux tester sa valeur.
Si tu réponds n'importe quoi d'autre que 2 à la première question, c'est preTha qui n'obtient pas de valeur, et donc l'erreur arrive quand tu veux tester sa valeur.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu devrais afficher les menus directement, pourquoi pour commencer avoir à saisir 100 ;-) les sleep sont agaçants
Et pour ne pas avoir de variables non définies, il faut indenter les lignes sur les sous menus
J'ai repris ton code sur cette logique :
Et pour ne pas avoir de variables non définies, il faut indenter les lignes sur les sous menus
if pro ==1: ... if prePyt ==1:
J'ai repris ton code sur cette logique :
import math import time print("bienvenue sur le programme d'aide en math crée par Louis Verité") print("liste des programmes :") print("programme 1 : pour Pythagore") print("programme 2 : théorème de Thalès") pro=int(input("Votre choix : ")) if pro == 1: print("bienvenue dans le programme théorème de Pythagore") print("liste des programmes :") print("programme 1 : calculer l'hypothénuse") print("programme 2 : calculer un coté différent l'hypothénuse") print("programme 3 : vérifier si le triangle est rectangle") prePyt=int(input("Votre choix : ")) if prePyt == 1: print("bienvenue sur un programme pour calculer l'hypothénuse avec Pythagore") long_adj = int(input("mesure de la longueur adjace : ")) long_opp = int(input("mesure de la longueur opposé : ")) long_adj_carré = adj * adj long_opp_carré = opp * opp pytha_hyp = math.sqrt(adj * adj + opp * opp) print("dans le triangle ___ rectangle en _ ") print("l'hypothénuse est [] ") print("donc d'après le Theorème de Pythagore : ") print("hypothénuse² = adj² + O²") print("on répète meme étape que précédente") print("hypothénuse =") print(long_adj_carré) print("+") print(long_opp_carré) print("hypothénuse² =") print(long_adj_carré + long_opp_carré) print("hypothénus = ") print(pytha_hyp) if prePyt == 2: print("bienvenue sur un programme pour calculer un coté différent l'hypothénuse avec Pythagore :") long_adj_bis = int(input("mesure de la longueur adjace : ")) long_hyp_bis = int(input("mesure de l'hypothénuse : ")) long_adj_bis_carré = long_adj_bis * long_adj_bis long_hyp_bis_carré = long_hyp_bis * long_hyp_bis long_opp_bis = math.sqrt(long_hyp_bis_carré - long_adj_bis_carré) print(long_opp_bis) if prePyt == 3: print("bienvenue sur un programme pour vérifier si le triangle est rectangle avec Pythagore:") long_adj_bis_s = int(input("mesure de la longueur adjace : ")) long_opp_bis_s = int(input("mesure de la longueur opposé : ")) if pro == 2: print("bienvenue dans le programme théorème de Thalès") print("liste des programmes :") print("programme 1 : calculer la longueur d'un droite") print("programme 2 : vérifier si 2 droites sont parallèles") preTha=int(input("Votre choix : ")) if preTha == 1: print("bienvenue sur un programme pourcalculer la longueur d'un droite:") if preTha == 2: print("bienvenue sur un programme pour vérifier si 2 droites sont parallèles:") print("Relancer le programme, pour pouvoir utiliser un autre programme.")