Tester la fiabilitée de la fonction randrange avec interface type sismographe

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 762 fois - Téléchargée 26 fois

Contenu du snippet

Bon c'est un tableau qui a une echelle de 400 à -400 qui affiche la moyenne d'une liste de la fonction randrange...

J'en ai fait un pour calculer la chaleur de l'unitée centrale mais le nombre de ligne s'exprimait en millier ce qui ne serait pas très interessant...

c'est surtout pour l'interface...

Source / Exemple :


####Version 1.2##########

##########################
###### Importation #######
##########################
from Tkinter import *
from random import *
##########################
## creation de variable ##
##########################
tempo=10 ### vitesse de base en milliseconde (100 pour pc faible) (pas moins de 10)
flag=0
dest=0
flagi=0
comp=0
############################
## creation des fonctions ##
############################
def perp2() :
	global dest,comp
	comp+=1
	u=randrange(-5,6)
	root.title('exportation : F10 -- tirage n-%s || tirage= %s || Moyenne= %s || F12 pour preciSsion || By xeolin || Tester la fonction randrange || %s || '%(comp,u,dest,randrange(-1,2)))
	dest+=u

# ici est regroupe le mouvement des lignes verticales et de la courbe
def perp () :
	global flag,obj,liste,liste2,aliste
	perp2()
	flag+=1
	if flag==25 : flag=0
	for a in range (0,48) :
		can.delete(obj[a])
	obj=[]
	for a in range(0,1200) :
		can.delete(liste2[a])
	for a in range (0,1200,25) :
		obj.append(can.create_line(a+flag,0,flag+a,850,fill='grey100'))
	liste2=[]
	aliste= []
	for a in range(0,1200) :
		aliste.append(liste[a])
	liste=[]
	for a in range(0,1200) :
		if a==0: liste.append(dest)
		elif a==1200 : liste.append(0);liste.append(0)
		else : liste.append(aliste[a-1])
			
	for a in range(0,1200) :
		if a==0: liste2.append(can.create_line(a,0,a,426-liste[a],fill='grey0'))
		else :liste2.append(can.create_line(a,425-liste[a-1],a,426-liste[a],fill='grey0'))
	root.after(tempo,perp) #actualisation dans "tempo"
	

def pi(event) :
	global flagi
	if flagi==1 :
		flagi= 0
		can.delete(ron) # haha !: appuyez sur f12 lors de l'execution
		can.delete(ron2)
	else :flagi=1
	

def cer (event):
	global ron , ron2
	if flagi==1 :
		can.delete(ron)
		can.delete(ron2)
		ron=can.create_line(0,event.y,1200,event.y,fill='blue') 
		ron2=can.create_line(event.x,0,event.x,1200,fill='blue')
		
def exp (event):
	#exportation
	fen=Tk()
	Txt=Text(fen)
	Txt.pack()
	Txt.insert("0.0",liste)
	fen.mainloop()
	del fen
############################
## creation de la fenetre ##
############################

root=Tk()

can=Canvas(width=1200, height=850,bg='green')
can.bind('<Motion>',cer)
root.bind('<F12>',pi)
root.bind('<F10>',exp)
can.grid(column=1,row=0)
can0=Canvas(width=30, height=850,bg='green')
can0.grid(column=0,row=0)
ron=can.create_oval(0,0,3,3)
ron2=can.create_oval(0,0,3,3)
################################################
####### creation des barres horizontales ######
################################################
for a in range (0,850,25) :
	if a==425 :can.create_line(0,a,1200,a,fill='blue')
	else:can.create_line(0,a,1200,a,fill='grey100')
for a in range (0,850,25) :
	can0.create_line(0,a,35,a,fill='grey0')
###################################################
## creation de la graduation (chiffres positifs) ##
###################################################
for a in range (25,425,25) :
	can0.create_text(15,a-5,text=str(425-a),fill='red')
can0.create_text(10,420,text='0',fill='blue')
###################################################
## creation de la graduation (chiffres negatifs) ##
###################################################
for a in range (450,850,25) :
	can0.create_text(15,a-5,text=str(-(a-425)),fill='red')
################################################
####### creation des barres horizontales ######
################################################
obj=[]
for a in range (0,1200,25) :
	obj.append(can.create_line(a,0,a,850,fill='grey100'))
################################################
####### creation de la liste des resultats ######
################################################
liste=[]
for a in range(0,1200) :
	liste.append(0)
################################################
###### creation des barres "de la courbe" ######
################################################
liste2=[]
for a in range(0,1200) :
		liste2.append(can.create_line(0,0,0,0,fill='grey0'))
root.after(500,perp) #lancement de perp
root.mainloop()

A voir également

Ajouter un commentaire

Commentaires

Messages postés
336
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
8 novembre 2011
1
c'est fait :)
Messages postés
336
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
8 novembre 2011
1
comme d'ab 6mois plus tard, mais oui je vais le faire :)
Messages postés
382
Date d'inscription
mercredi 23 août 2006
Statut
Membre
Dernière intervention
8 novembre 2010
11
Exellente source Xeolin, très belle interface graphique ! Ca mérite bien un 10/10. Une eptite fonction pour exporter les résultats ? :)
Bonne continuation et très bonne journée à toi !!!
____
Aéra
Messages postés
336
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
8 novembre 2011
1
bas je pense quec'est la fin de ma source....

même si j'ai l'impression qu'elle est inachevée..

bon en espérant que cette source vous aidera dans vos interface graphique....

/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*
Messages postés
86
Date d'inscription
jeudi 18 août 2005
Statut
Membre
Dernière intervention
20 février 2007

Salut XEOLIN

Le troisième jour le DICO dit : que l' ORTHO soit : et l' ORTHO fut.
Le septième jour HCD se reposa ...
( Inutile de me remercier, puisque je n'ai rien fait... )

En conclusion , ta source est très intéressante.

Dernier point : je suis tout à fait d'accord pour que mon commentaire soit supprimé après que tu l'aies regardé.
A toi de le demander à nos amis administrateurs du site.
HCD

Ci-après quelques modifications dans le texte

_________________________________________________________________________________________________________

####################################################################################
####################################################################################
########################## By ######################################################
############################# XEOLIN ###############################################
################################# ou ###############################################
################################### SK8GIS #########################################
####Version 1.0####################### ou ##########################################
######################################## Tipro75 ###################################
####################################################################################
####################################################################################



##########################
###### Importation #######
##########################
from Tkinter import *
from random import *
##########################
## création de variable ##
##########################
tempo=200 ### vitesse de base en milliseconde (500 pour pc faible) (pas moins de 50)
flag=0
dest=0
flagi=0
comp=0
############################
## création des fonctions ##
############################
def perp2() :
global dest,comp
comp+=1
u=randrange(-5,6)
root.title('tirage n°%s || tirage= %s || Moyenne= %s || F12 pour precision || By Sk8gis || Tester la fonction randrange || %s || '%(comp,u,dest,randrange(-1,2)))
dest+=u


# ici est regroupé le mouvement des lignes verticales et de la courbe
def perp () :
global flag,obj,liste,liste2,aliste
perp2()
flag+=1
if flag==25 : flag=0
for a in range (0,48) :
can.delete(obj[a])
obj=[]
for a in range(0,1200) :
can.delete(liste2[a])
for a in range (0,1200,25) :
obj.append(can.create_line(a+flag,0,flag+a,850,fill='grey100'))
liste2=[]
aliste= []
for a in range(0,1200) :
aliste.append(liste[a])
liste=[]
for a in range(0,1200) :
if a==0: liste.append(dest)
elif a==1200 : liste.append(0);liste.append(0)
else : liste.append(aliste[a-1])

for a in range(0,1200) :
if a==0: liste2.append(can.create_line(a,0,a,426-liste[a],fill='grey0'))
else :liste2.append(can.create_line(a,425-liste[a-1],a,426-liste[a],fill='grey0'))
root.after(tempo,perp) #actualisation dans "tempo"



def pi(event) :
global flagi
if flagi==1 :
flagi= 0
can.delete(ron) # haha !: appuyez sur f12 lors du jeu
can.delete(ron2)
else :flagi=1



def cer (event):
global ron , ron2
if flagi==1 :
can.delete(ron)
can.delete(ron2)
ron=can.create_line(0,event.y,1200,event.y,fill='blue') # idem c la même fonction mais je me suis pas foulé, j'ai mis ca en 2
ron2=can.create_line(event.x,0,event.x,1200,fill='blue')


############################
## création de la fenêtre ##
############################

root=Tk()

can=Canvas(width=1200, height=850,bg='green')
can.bind('<Motion>',cer)
root.bind('<F12>',pi)
can.grid(column=1,row=0)
can0=Canvas(width=30, height=850,bg='green')
can0.grid(column=0,row=0)
ron=can.create_oval(0,0,3,3)
ron2=can.create_oval(0,0,3,3)
################################################
####### création des barres horizontales ######
################################################
for a in range (0,850,25) :
if a==425 :can.create_line(0,a,1200,a,fill='blue')
else:can.create_line(0,a,1200,a,fill='grey100')
for a in range (0,850,25) :
can0.create_line(0,a,35,a,fill='grey0')
##################################################
## création de la graduation (chiffres positifs) ##
##################################################
for a in range (25,425,25) :
can0.create_text(15,a-5,text=str(425-a),fill='red')
can0.create_text(10,420,text='0',fill='blue')
##################################################
## création de la graduation (chiffres negatifs) ##
##################################################
for a in range (450,850,25) :
can0.create_text(15,a-5,text=str(-(a-425)),fill='red')
################################################
####### création des barres horizontales ######
################################################
obj=[]
for a in range (0,1200,25) :
obj.append(can.create_line(a,0,a,850,fill='grey100'))
################################################
####### création de la liste des résultats ######
################################################
liste=[]
for a in range(0,1200) :
liste.append(0)
################################################
###### création des barres "de la courbe" ######
################################################
liste2=[]
for a in range(0,1200) :
liste2.append(can.create_line(0,0,0,0,fill='grey0'))
root.after(500,perp) #lancement de perp
root.mainloop()

______________________________________________________________________________________________________
Tu peux supprimer ce qui suit
______________________________________________________________________________________________________

####################################################################################
############## Là HCD tu ne peux pas dire que je n'ai pas commenté ! #####################
####################################################################################
################## de plus je ne ferai pas les commentaires ########################
##################### sur ma source "Tkinter en simplifié" : #######################
######################### car ce boulôt est impossible pour un simple ##############
############################# mortel comme moi : ###################################
################################ j'ai un don : #####################################
################################### celui que personne (même moi ne ################
##################################### puisse me relire). Heureusement, #############
######################################### ce talent me quitte (désormais) ###########
############################################lors de mes ddissertations et dictées. ##
####################################################################################
################# #####################################################
################# # HAVE FUN # #####################################################
################# ############### ^^ ##################################
####################################################################################
####################################################################################
Afficher les 11 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.