Boucle
ksanflo
-
dsy73 Messages postés 9252 Date d'inscription Statut Contributeur Dernière intervention -
dsy73 Messages postés 9252 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je voudrai poser une question concernant les interfaces graphiques et boucles.
je dois construire une interface graphique permettant d'afficher l'évolution de la population en fonction du temps tout en sauvegardant les couples ( temps, population) dans des variables et les afficher dans un fichier. Pour cela, l'utilisateur doit renseigner à travers des cases crées dans l'interface graphique les différentes valeurs permettant le calcul de cette formule:
p= po+((k-po)/k)*r*po
où pt est la population initiale
k la capacité maximale de reproduction
r le taux de reproduction
dans le cas précis il m'a été demandé de tester mon programme avec les valeurs ci-dessous avec t allant jusqu'à 500
po=100
k=500
r=1
Votre aide me sera d'une grande utilité. En vous remerciant d'avance
je voudrai poser une question concernant les interfaces graphiques et boucles.
je dois construire une interface graphique permettant d'afficher l'évolution de la population en fonction du temps tout en sauvegardant les couples ( temps, population) dans des variables et les afficher dans un fichier. Pour cela, l'utilisateur doit renseigner à travers des cases crées dans l'interface graphique les différentes valeurs permettant le calcul de cette formule:
p= po+((k-po)/k)*r*po
où pt est la population initiale
k la capacité maximale de reproduction
r le taux de reproduction
dans le cas précis il m'a été demandé de tester mon programme avec les valeurs ci-dessous avec t allant jusqu'à 500
po=100
k=500
r=1
Votre aide me sera d'une grande utilité. En vous remerciant d'avance
1 réponse
Salut
je n'ai pas compris quelle était la question.
Tu devrais aussi nous montrer ce que tu as fait : https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
je n'ai pas compris quelle était la question.
Tu devrais aussi nous montrer ce que tu as fait : https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
from tkinter import *
mafen1=Tk()
mafen1.title("capacité de reprodcution")
saisie_ut=StringVar()
resultat1=StringVar()
def lire1():
saisie=case_entree.get()
global k
try:
nombre=float(saisie)
k=nombre*1
resultat1.set(str(k))
mafen1.destroy()
except:
if("," in saisie):
resultat1.set(". comme sépar.decimal")
else:
resultat1.set("Entrez un nombre")
return
def clavier1(touche):
lire1()
return
case_entree=Entry(mafen1,textvariable=saisie_ut)
case_entree.bind
case_entree.pack()
case_sortie=Label(mafen1,textvariable=resultat1)
case_sortie.pack()
# on crée un bouton pour activer la lecture, le calcul et la
valider=Button(mafen1,text="sauvegarder",command=lire1)
valider.pack()
mafen1.mainloop()
# deuxième variable population intiale
mafen2=Tk()
mafen2.title("population initiale")
population_ut=StringVar()
resultat2=StringVar()
def lire2():
population=case_entree.get()
global p
try:
nombre=float(population)
p=nombre
resultat2.set(str(p))
resultat2.set(str(p))
mafen2.destroy()
except:
if("," in population):
resultat2.set(". comme sépar.decimal")
else:
resultat2.set("Entrez un nombre")
return
def clavier2(touche):
lire2()
return
case_entree=Entry(mafen2,textvariable=population_ut)
case_entree.bind
case_entree.pack()
case_sortie=Label(mafen2,textvariable=resultat2)
case_sortie.pack()
valider=Button(mafen2,text="sauvegarder",command=lire2)
valider.pack()
mafen2.mainloop()
# troisième variable taux de reproduction
mafen3=Tk()
mafen3.title("taux de reproduction")
reproduction_ut=StringVar()
resultat3=StringVar()
def lire3():
reproduction=case_entree.get()
global r
try:
nombre=float(reproduction)
r=nombre
resultat3.set(str(r))
mafen3.destroy()
except:
if("," in reproduction):
resultat3.set(". comme sépar.decimal")
else:
resultat3.set("Entrez un nombre")
return
def clavier3(touche):
lire3()
return
# pour introduire du texte dans le programme
# on crée un objet de classe Entry qui sera recupéré par l'utilisateur
case_entree=Entry(mafen3,textvariable=reproduction_ut)
case_entree.bind
case_entree.pack()
# pour afficher les resultats on crée un objet de classe Label
# ou on recupera le resultat
case_sortie=Label(mafen3,textvariable=resultat3)
case_sortie.pack()
# on crée un bouton pour activer la lecture, le calcul et la
valider=Button(mafen3,text="sauvegarder",command=lire3)
valider.pack()
mafen3.mainloop()
# quatrième variable caractérisant le pas
mafen4=Tk()
mafen4.title("le pas")
lepas_ut=StringVar()
resultat4=StringVar()
def lire4():
lepas=case_entree.get()
global lp
try:
nombre=int(lepas)
lp=nombre+1
resultat4.set(str(lp))
resultat4.set(str(lp))
mafen4.destroy()
except:
if("," in lepas):
resultat4.set(". comme sépar.decimal")
else:
resultat4.set("Entrez un nombre")
return
def clavier4(touche):
lire4()
return
case_entree=Entry(mafen4,textvariable=lepas_ut)
case_entree.bind
case_entree.pack()
case_sortie=Label(mafen4,textvariable=resultat4)
case_sortie.pack()
valider=Button(mafen4,text="sauvegarder",command=lire4)
valider.pack()
mafen4.mainloop()
# quatrième variable permettant de calculer
mafen5=Tk()
mafen5.title("operation")
operation_ut=StringVar()
resultat5=StringVar()
def calcul():
operation=case_entree.get()
try:
v=p+((k-p)/k)*r*p
resultat5.set(str(v))
except:
if("," in operation):
resultat5.set(". comme sépar.decimal")
else:
resultat5.set("Entrez un nombre")
return
def clavier5(touche):
lire5()
return
case_entree=Entry(mafen5,textvariable=operation_ut)
case_entree.bind
case_entree.pack()
# pour afficher les resultats on crée un objet de classe Label
# ou on recupera le resultat
case_sortie=Label(mafen5,textvariable=resultat5)
case_sortie.pack()
valider=Button(mafen5,text="Envoyer",command=calcul)
valider.pack()
mafen5.mainloop()
Pour mieux expliquer ce je fais, j'ai crée des fenêtres afin de pouvoir entrer les valeurs permettant de calculer mon modèle. Cependant, j'aurai souhaité plutôt mettre en place des cases en lieu et place des fenêtres pour n'avoir qu'une fenêtre en fin de compte.
1) Donc ma première question c'est comment regrouper dans une seule fenêtre les cases me permettant de calculer mon modèle?
2) ensuite pour tester mon programme, il m'a été demandé de tester les valeurs suivantes:
po=100
k=500
r=1
avec t allant jusqu'à 500
==> pour cette question, il me semble qu'il me faudra mettre en place une boucle, ce que je ne parviens pas à faire afin d'avoir les valeurs de population de 1 à 500 en vue d'obtenir la coube.
En espérant avoir été plus précis, je vous remercie d'avoir pris le temps de vous intéresser à mon problème.
En vous remerciant d'avance!