econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 2 nov. 2006 à 21:46
Ah c'est sûr qu'il y a d'autres choses qui peuvent être réduites, mais on ne va pas fusiller tout le code d'un clic.
C'était juste pour montrer qu'avec un brin de mathématiques, et sans utiliser des algos très compliqués, on arrive toujours à améliorer.
A bas la redondance ! Eh eh !
aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 201018 2 nov. 2006 à 16:36
Merci pour ton aide et pour ta note (ça fait toujours plaisir de savoir que sa source est bien au yeux des autres :)).
Il y a encore d'autres solutions pour réduire la tailles du codes, mais ça risque de devenir plus compliquer. Je n'avais pas penser à ta solution ... Bien trouvé !!!
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 2 nov. 2006 à 14:05
Rien à dire sur le principe et le code.
P'tite astuce cependant concernant les dés pour gagner quelques lignes de code.
Si a%2==1
Tout nombre impair se verra affublé d'un point central.
Si a>1
Tout nombre supérieur à 1 aura en plus deux points aux extrémités (HAUT-GAUCHE) et (BAS-DROITE)
Si a>3
Tout nombre supérieur à 3 aura en plus deux points aux extrémités (HAUT-DROITE) et (BAS-GAUCHE)
Si a==6
Alors on dessinera en plus deux points (MILIEU-HAUT) et (MILIEU-BAS)
Les tests font moins de lignes, et les procédures de dessin aussi.
2 nov. 2006 à 21:46
C'était juste pour montrer qu'avec un brin de mathématiques, et sans utiliser des algos très compliqués, on arrive toujours à améliorer.
A bas la redondance ! Eh eh !
2 nov. 2006 à 16:36
Il y a encore d'autres solutions pour réduire la tailles du codes, mais ça risque de devenir plus compliquer. Je n'avais pas penser à ta solution ... Bien trouvé !!!
2 nov. 2006 à 14:05
P'tite astuce cependant concernant les dés pour gagner quelques lignes de code.
############ CODE INITIAL ###############
#
# def dessin1():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(80,80,120,120,fill='black')
#
# def dessin2():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(30,30,70,70,fill='black')
# can.create_oval(130,130,170,170,fill='black')
#
# def dessin3():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(80,80,120,120,fill='black')
# can.create_oval(30,30,70,70,fill='black')
# can.create_oval(130,130,170,170,fill='black')
#
# def dessin4():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(30,30,70,70,fill='black')
# can.create_oval(130,130,170,170,fill='black')
# can.create_oval(130,30,170,70,fill='black')
# can.create_oval(30,130,70,170,fill='black')
#
#
# def dessin5():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(80,80,120,120,fill='black')
# can.create_oval(30,30,70,70,fill='black')
# can.create_oval(130,130,170,170,fill='black')
# can.create_oval(130,30,170,70,fill='black')
# can.create_oval(30,130,70,170,fill='black')
#
# def dessin6():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(30,30,70,70,fill='black')
# can.create_oval(130,130,170,170,fill='black')
# can.create_oval(130,30,170,70,fill='black')
# can.create_oval(30,130,70,170,fill='black')
# can.create_oval(30,80,70,120,fill='black')
# can.create_oval(130,80,170,120,fill='black')
# [...]
# if a==1:
# dessin1()
# if a==2:
# dessin2()
# if a==3:
# dessin3()
# if a==4:
# dessin4()
# if a==5:
# dessin5()
# if a==6:
# dessin6()
PROPOSITION PLUS COURTE, AVEC UNIQUEMENT 4 IF, ET DES PROCEDURES DE DESSIN SIMPLIFIEES
#
# def dessin1():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(80,80,120,120,fill='black')
#
# def dessin2():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(30,30,70,70,fill='black')
# can.create_oval(130,130,170,170,fill='black')
#
# def dessin4():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(30,30,70,70,fill='black')
# can.create_oval(130,130,170,170,fill='black')
#
#
# def dessin6():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(30,80,70,120,fill='black')
# can.create_oval(130,80,170,120,fill='black')
#
# if a%2==1:
# dessin1()
# if a>1:
# dessin2()
# if a>3:
# dessin4()
# if a==6:
# dessin6()
Si a%2==1
Tout nombre impair se verra affublé d'un point central.
Si a>1
Tout nombre supérieur à 1 aura en plus deux points aux extrémités (HAUT-GAUCHE) et (BAS-DROITE)
Si a>3
Tout nombre supérieur à 3 aura en plus deux points aux extrémités (HAUT-DROITE) et (BAS-GAUCHE)
Si a==6
Alors on dessinera en plus deux points (MILIEU-HAUT) et (MILIEU-BAS)
Les tests font moins de lignes, et les procédures de dessin aussi.