Veradoclub France
25 Avril 2024 09:19:15 *
avatar Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.

Connexion avec identifiant, mot de passe et durée de la session
Nouvelles: Note de SECURITE GENERALE : NE FAITES JAMAIS LE PLEIN D'ESSENCE DE VOS BIDONS DANS LE COFFRE ! => LIRE ICI
 
   Forum   Aide Identifiez-vous Inscrivez-vous  
Pages: 1 [2]   Bas de page
  Imprimer  
Auteur Fil de discussion: Edupython  (Lu 7998 fois)
0 Membres et 1 Invité sur ce fil de discussion.
Kalango
CLUB DES DETENDUS DU PARE-BATTAGE
Membre Héroïque
*
En ligne En ligne

Messages: 5388


Eric
Posteur à 36%


Safari 0.8.2
Mac OS

« Répondre #30 le: 22 Mars 2020 15:51:47 »

sinon il y a une foction line :
line(Surface, color, (x1,y1), (x2,y2), width)

faut pas réinventer la roue !


on peut aussi acheter des drapeaux tout faits ! Très souriant.
Si le prof a seulement introduit le dessin d'un pixel...
Journalisée

Eric
Doudou39330
Bertrand. Jura (39)
CLUB DES DETENDUS DU PARE-BATTAGE
Membre Héroïque
*
Hors ligne Hors ligne

Messages: 4805


Posteur à 36%


Safari 0.8.2
Mac OS

WWW
« Répondre #31 le: 22 Mars 2020 16:19:18 »

C'est l'interpréter qui ne sait pas s'il doit finir l'instruction composée à la fin de la ligne.
essaie de mettre un point virgule à la fin de la boucle


EUREKA  Très souriant Très souriant Très souriant Très souriant

on a fait le 62.... Clin d'oeil
Journalisée

Fourwinns 195 Sundowner / optimax 150

Kalango
CLUB DES DETENDUS DU PARE-BATTAGE
Membre Héroïque
*
En ligne En ligne

Messages: 5388


Eric
Posteur à 36%


Safari 0.8.2
Mac OS

« Répondre #32 le: 22 Mars 2020 17:58:26 »



 Sourire
Journalisée

Eric
pechevoile
Membre Héroïque
*
Hors ligne Hors ligne

Messages: 1046


Jacques
Posteur à 26%


Chrome 124.0.0.0
Win 64

« Répondre #33 le: 22 Mars 2020 18:05:46 »

“Vous devez arrivé tousse”

Passons le “arrivé” mais le “tousse” c est la premiere fois que je vois cela !!

Sinon c est ok pour toi ?



Tousse, ça doit être un jeu de mots en lien avec les circonstances.  Indécis
Journalisée
doumes
Membre Héroïque
*
Hors ligne Hors ligne

Messages: 729


Posteur à 23%


Firefox 125.0
Win 64

« Répondre #34 le: 22 Mars 2020 18:43:36 »

Bonsoir,

EUREKA  Très souriant Très souriant Très souriant Très souriant

on a fait le 62.... Clin d'oeil

Fait attention ne va pas trop loin  tout de même  maximum six................  pas un de plus   Grimaçant Grimaçant Grimaçant Embarrassé Embarrassé Embarrassé Embarrassé
Journalisée

Dominique, Semi rigide 3D Tender 589 Honda 90 Cv Vtec
Flyer550
Membre Héroïque
*
Hors ligne Hors ligne

Messages: 768

avatar

Posteur à 26%


Safari 0.8.2
Mac OS

« Répondre #35 le: 22 Mars 2020 22:51:40 »



Tousse, ça doit être un jeu de mots en lien avec les circonstances.  Indécis
Tire la langue
Journalisée

Christophe

Jeanneau SPRINT 300
Rocca BABY SKI

Speedboat Restoration on my YouTube Channel :
https://www.youtube.com/channel/UCD258bKFTA5UCayvI_I4iyw
Doudou39330
Bertrand. Jura (39)
CLUB DES DETENDUS DU PARE-BATTAGE
Membre Héroïque
*
Hors ligne Hors ligne

Messages: 4805


Posteur à 36%


Safari 0.8.2
Mac OS

WWW
« Répondre #36 le: 23 Mars 2020 00:26:37 »

bon je m'y suis remis un peu (beaucoup même)

j'ai du mal a faire le 2 eme drapeau



je n'arrive pas a remplir la boite de bleu..




Journalisée

Fourwinns 195 Sundowner / optimax 150

stephane
ACTIV 675/755 OPEN
Modérateur Global
Membre Héroïque
*****
En ligne En ligne

Messages: 11538

avatar

stéphane
Posteur à 46%


Chrome 109.0.0.0
Win 64

« Répondre #37 le: 23 Mars 2020 00:32:19 »


méfie toi Bertrand, tu risques de devoir reprendre le banc des élèves à la reprise Très souriant
Journalisée

Stéphane
Doudou39330
Bertrand. Jura (39)
CLUB DES DETENDUS DU PARE-BATTAGE
Membre Héroïque
*
Hors ligne Hors ligne

Messages: 4805


Posteur à 36%


Safari 0.8.2
Mac OS

WWW
« Répondre #38 le: 23 Mars 2020 00:44:11 »

méfie toi Bertrand, tu risques de devoir reprendre le banc des élèves à la reprise Très souriant

C’est un peu galère pour mes vielles neurones  Très souriant Très souriant Clin d'oeil
Journalisée

Fourwinns 195 Sundowner / optimax 150

Kalango
CLUB DES DETENDUS DU PARE-BATTAGE
Membre Héroïque
*
En ligne En ligne

Messages: 5388


Eric
Posteur à 36%


Safari 0.8.2
Mac OS

« Répondre #39 le: 23 Mars 2020 10:21:51 »

bon je m'y suis remis un peu (beaucoup même)

j'ai du mal a faire le 2 eme drapeau



je n'arrive pas a remplir la boite de bleu..


Il faut que tu empiles des lignes bleues horizontales qui vont du bord gauche (x =0) jusqu'à la ligne bleue que tu as dessinée (y = x).

pour chaque y de 0 à ..
dessiner la ligne de (0,y) à (y,y)
fin pour

Si tu veux le code, je te l'envoie


Journalisée

Eric
Doudou39330
Bertrand. Jura (39)
CLUB DES DETENDUS DU PARE-BATTAGE
Membre Héroïque
*
Hors ligne Hors ligne

Messages: 4805


Posteur à 36%


Safari 0.8.2
Mac OS

WWW
« Répondre #40 le: 23 Mars 2020 10:25:40 »

Salut Eric, oui je veux bien le code pour que je l'analyse afin de comprendre...

C'est pas évident pour un vieux comme moi  Très souriant Très souriant Très souriant

mais surtout je voudrais vraiment avoir compris pour expliquer la logique a Olivia  Clin d'oeil

Merci pour elle surtout..
Journalisée

Fourwinns 195 Sundowner / optimax 150

Kalango
CLUB DES DETENDUS DU PARE-BATTAGE
Membre Héroïque
*
En ligne En ligne

Messages: 5388


Eric
Posteur à 36%


Safari 0.8.2
Mac OS

« Répondre #41 le: 23 Mars 2020 10:47:27 »

Code:
# Exo 67b

from PIL import Image

# un drapeau, c'est un rectangle 2:3
# et on le fait blanc pour commencer, puisqu'historiquement,
# on est parti de l'étendard royal, auquel on a adjoint les
# couleurs du PSG

im = Image.new("RGB", (600,400), "white")



for y in range(200,399):
    for x in range (0,599):
        im.putpixel((x,y), (255,0,0))

# triangle bleu :
# on peut le faire de 2 façons, soit en traçant les lignes horizontalement,
# soit en traçant des lignes verticales.

# c'est cette deuxièeme option que je prends
# les points supérieurs de la ligne verticale ont abscisse = ordonnée (x = y)
# les points inférieurs, y = 399 - x

# donc pou une abscisse donnée, on trace la ligne verticale entre les
# ordonnées x et 399 -x

for x in range(0,199):
    for y in range (x,399-x):
        im.putpixel((x,y), (0,0,255))
   


im.save("exo67b.png", "PNG")
Journalisée

Eric
Doudou39330
Bertrand. Jura (39)
CLUB DES DETENDUS DU PARE-BATTAGE
Membre Héroïque
*
Hors ligne Hors ligne

Messages: 4805


Posteur à 36%


Safari 0.8.2
Mac OS

WWW
« Répondre #42 le: 23 Mars 2020 11:39:07 »

La nuit a été bénéfique et surtout ton aide vraiment précieuse. Je te remercie grandement de ta patience et surtout de ton dernier post qui m’a fait vraiment comprendre.
Maintenant il faut que je fasse gaffe aux erreurs de frappe.

J’ai fait un mega tuto en word a Olivia et lui installer sur sa machine.

Je vais la laisser bosser un peu en surveillant,  maintenant qu’elle a un cours...

Encore merci  ; et vive VCF.....

Ps: promis quand elle aura compris je lui ferai poster plusieurs drapeaux....



Journalisée

Fourwinns 195 Sundowner / optimax 150

bataclo
Administrateur
Membre Héroïque
*
Hors ligne Hors ligne

Messages: 19181


Posteur à 47%


Chrome 110.0.0.0
Linux

WWW
« Répondre #43 le: 23 Mars 2020 12:11:22 »

ça réchauffe le cœur, merci Eric pour ton implication et tes explications !
Journalisée

Claude

On ne mesure jamais assez l'importance de savourer l'instant présent, aussi voyons toujours les bons côtés de la vie et profitons en au maximum, peu importe le loisir pourvu qu'on ait l'ivresse et les copains
Doudou39330
Bertrand. Jura (39)
CLUB DES DETENDUS DU PARE-BATTAGE
Membre Héroïque
*
Hors ligne Hors ligne

Messages: 4805


Posteur à 36%


Safari 0.8.2
Mac OS

WWW
« Répondre #44 le: 23 Mars 2020 16:12:03 »

ça réchauffe le cœur, merci Eric pour ton implication et tes explications !

Oui c'est clair, il n'y a qu'ici que l'on trouve des personnes sympa comme ça  Clin d'oeil
Journalisée

Fourwinns 195 Sundowner / optimax 150

Doudou39330
Bertrand. Jura (39)
CLUB DES DETENDUS DU PARE-BATTAGE
Membre Héroïque
*
Hors ligne Hors ligne

Messages: 4805


Posteur à 36%


Safari 0.8.2
Mac OS

WWW
« Répondre #45 le: 24 Mars 2020 12:54:51 »

Bien .  Je veux pas abuser de ta gentillesse Eric mais nous sommes bloqués a ce niveau.



L’avantage je vois qu’Olivia a compris pas mal de chose car c’est elle qui a commencé le drapeau.

J’ai bien essayé de faire des triangles ( ça je peux )

mais ce que je n’arrive pas c’est de partir de l’abscisse (10) a une ordonnée de (0)  (Pour faire les diagonales blanches)


J’ai bien essayé de modifier les formules  sur une autre image mais ça me donne ça :



Pour le triangle noir ok il part de (0,0)

Mais je voudrais faire la même forme mais qui part de (0) sur l’abscisse  mais moins haut sur l’ordonnée.  

J’ai essayé de changer les valeurs ( triangle rouge) mais c’est pas bon....

A la limite ça marche pour le bas ..

As tu une formule magique ?  Ou vois tu mon erreur ? Je t’avoue ne pas comprendre.

Journalisée

Fourwinns 195 Sundowner / optimax 150

Kalango
CLUB DES DETENDUS DU PARE-BATTAGE
Membre Héroïque
*
En ligne En ligne

Messages: 5388


Eric
Posteur à 36%


Safari 0.8.2
Mac OS

« Répondre #46 le: 24 Mars 2020 15:01:25 »

Je passe l'après midi en visio, télétravail oblige.
Je reviens vers toi en fin de journée.
Bravo à Olivia pour le drapeau de l'Islande  Très souriant
Journalisée

Eric
Doudou39330
Bertrand. Jura (39)
CLUB DES DETENDUS DU PARE-BATTAGE
Membre Héroïque
*
Hors ligne Hors ligne

Messages: 4805


Posteur à 36%


Safari 0.8.2
Mac OS

WWW
« Répondre #47 le: 24 Mars 2020 15:42:29 »

Je passe l'après midi en visio, télétravail oblige.
Je reviens vers toi en fin de journée.
Bravo à Olivia pour le drapeau de l'Islande  Très souriant

Super de plus elle est en pleine réflexion.

Moi j’ai abdiqué. L’élève a dépassé le maitre... Grimaçant Grimaçant Très souriant





Journalisée

Fourwinns 195 Sundowner / optimax 150

Sebastien
Membre Héroïque
*
Hors ligne Hors ligne

Messages: 3583


Princess 286 2x230 cv V8 Volvo Penta
Posteur à 30%


Safari 0.8.2
Mac OS

« Répondre #48 le: 25 Mars 2020 06:12:25 »

Beau sujet et Merci Eric  Cool Cool Cool
Journalisée


Princess 286 2 x 230 cv Volvo Penta (1988) / Fiberform Fisherman 21 1 x 225 cv cobra EFI (1979)
VCF 3 Paris / VCF 4 Hyères / VCF 6 St Raphaêl
Kalango
CLUB DES DETENDUS DU PARE-BATTAGE
Membre Héroïque
*
En ligne En ligne

Messages: 5388


Eric
Posteur à 36%


Safari 0.8.2
Mac OS

« Répondre #49 le: 25 Mars 2020 13:25:22 »

Désolé, je n'ai pas pu m'y mettre hier soir.


J’ai bien essayé de faire des triangles ( ça je peux )

mais ce que je n’arrive pas c’est de partir de l’abscisse (10) a une ordonnée de (0)  (Pour faire les diagonales blanches)


J’ai bien essayé de modifier les formules  sur une autre image mais ça me donne ça :



Pour le triangle noir ok il part de (0,0)

Mais je voudrais faire la même forme mais qui part de (0) sur l’abscisse  mais moins haut sur l’ordonnée.  

J’ai essayé de changer les valeurs ( triangle rouge) mais c’est pas bon....


C'est pas mal : tu arrives déjà à faire les triangles.

Le décalage n'est pas très compliqué : c'est juste un mix entre tes triangles noir et rouge !

Code:
# ton code pour le triangle noir

for x in range (0,250):
    for y in range (x, 400 - x) :
        im.putpixel((x,y), (0,0,0))

Ce code trace un succession de lignes verticales dont l'ordonnée des points sera comprise en x et 400 - x.

Quand tu es sur le bord, x = 0. Tu traces donc une ligne verticale qui va de 0 à 400 -0 = 400. Tu traces donc une ligne sur toute la verticale du drapeau.

Comme tu veux décaler un peu le tracé en haut et en bas - tu voulais un décalage de 40 px sur ton triangle rouge, il faut rajouter 40 en haut du drapeau, et retirer 40 en bas.

les lignes verticales devront être comprises entre x + 40 et 400 - x - 40.


Tu peux essayer pour voir ce que ça fait (j'ai pas essayé) : soit ça plante, soit ça va faire un deuxième petit triangle au bout du premier...

En fait j'ai essayé depuis, ça ne plante pas et ça ne fait pas de deuxième triangle. Très souriant. Python ne dessine pas les segments à l'envers... Bon, mais c'est pas propre de faire dessiner à Python des trucs qu'il ne dessine pas. On pense à la planète et à l'électricité inutile, et au CO2 qu'il a fallu produire... (de mon temps, on pensait surtout à accélérer le programme...)

Car en réduisant ainsi ton triangle, la pointe du triangle n'est plus à l'abscisse 200.

Comme elle est à toujours à l'ordonnée 200 (y = 200) c'est à dire au milieu de la hauteur, et comme y = x + 40 sur le bord du triangle, x = 160.
(on peut faire la même chose avec l'équation de l'autre bord y = 400 - x - 40... et on peut même regarder quand les deux bords se coupent, c'est à dire x + 40 = 400 - x - 40, on trouvera toujours x = 160  Huh?)

Il faut donc faire varier x entre 0 et 160.

Code:
# code modifié pour le triangle noir décalé des deux côtés

for x in range (0,160):
    for y in range (x + 40, 400 - x - 40) :
        im.putpixel((x,y), (0,0,0))

Maintenant... Le drapeau n'étant pas carré (600 x 400), il va falloir étirer le triangle vers la droite.
La pente de notre triangle est de 1 pour 1 ( y = x +...); alors qu'elle devrait être de 2 pour 3 ( y = 2/3 x + ...). Olivia peut vérifier quand x vaut 600 au bout du drapeau, y = 2/3 600  = 400  Très souriant
 
Il faut modifier le code en conséquence :


Code:
# code modifié pour le triangle noir décalé des deux côtés
# sur un drapeau 3:2

for x in range (0,160):
    for y in range (2/3*x + 40, 400 - 2/3*x - 40) :
        im.putpixel((x,y), (0,0,0))

En faisant cela, on rentre dans une autre dimension... puisque l'on multiplie un entier par un rationnel... et donc les entiers deviennent des nombres à virgules (float) quand l'interprêteur attend un entier. Il est gentil, il a dû t'adresser un gentil message d'erreur...


Alors on lui fait plaisir... on convertit les nombres à virgule en nombres entiers en utilisant la fonction int(). C'est pas compliqué, il faut juste le savoir....
 
Code:
for x in range (0,160):
    for y in range (int(2/3*x + 40), int(400 - 2/3*x - 40)) :
im.putpixel((x,y), (0,0,0))


Il reste un petit problème que tu auras vite corrigé  Sourire

Comme on descend moins vite sur le côté du triangle, il faut aller plus loin sur les abscisses.

La pointe est toujours à l'ordonnée 200 (au milieu de la hauteur du drapeau), sauf que y = 2/3 x + 40, soit 200 = 2/3 x + 40, soit x = 240 si j'ai encore tous mes neurones. Et don c au final :

Code:
for x in range (0,240):
    for y in range (int(2/3*x + 40), int(400 - 2/3*x - 40)) :
im.putpixel((x,y), (0,0,0))

 Sourire Sourire Sourire

Pour le point bonus... Comment ça y en n'a pas ????

La fonction int() prend la partie entière du nombre à virgule : int (0.0001) = 0, et int (0,9999) = 0. C'est normal, mais cet arrondi donne un effet d'escalier au côté du triangle pas toujours très heureux.

Il existe une fonction round() qui fait l'arrondi. Il y a un bug (round 2.5) = 2 plutôt que 3 par convention. J'ai toujours fait int( x + 0.5) pour l'arrondi

Code:
for x in range (0,240):
    for y in range (int(2/3*x + 40 + 0.5), int(400 - 2/3*x - 40 + 0.5)) :
im.putpixel((x,y), (0,0,0))

Voilà, voilou


Je te mets mon code pour l'Union Jack, avec une approche légèrement différente de la tienne, mais il n'y a pas de bonne ou moins bonne façon de tracer le drapeau.

Code:
# Exo 67                                                              

from PIL import Image

# un drapeau, c'est un rectangle 2:3                                 
# Drapeau 'Union Jack'                                                   

im = Image.new("RGB", (600,400), "blue")


# bandes blanches drapeau écossais                                     

for y in range(0,400):
    for x in range (0,50):
        x = int( y * 1.5 - 25 + x);
        if x < 0: x = 0
        if x > 599: x =599
        im.putpixel((x, y), (255,255,255))
        im.putpixel((599-x,y), (255,255,255))

# bandes rouges du drapeau gallois                                   

for y in range(0,200):
    for x in range (0,20):
        im.putpixel((max(0,int(y * 1.5 - x)),y), (255,0,0))
        im.putpixel((min(599,int(600 - y * 1.5 - x+.5)), y), (255,0,0))
        im.putpixel((max(0,int(300 - y * 1.5 + x)), y+199), (255,0,0))
        im.putpixel((min(599,int(300 + y * 1.5 + x+.5)), y+199), (255,0,0))


# bandes rouges drapeau anglais                                       

for y in range(0,399):
    for x in range (0,75):
        im.putpixel((261+x,y), (255,255,255))
for y in range (0,75):
    for x in range(0,599):
        im.putpixel((x,161+y), (255,255,255))


for y in range(0,399):
    for x in range (0,65):
        im.putpixel((266+x,y), (255,0,0))
for y in range (0,65):
    for x in range(0,599):
        im.putpixel((x,166+y), (255,0,0))


# God save the queen

im.save("exo67c.png", "PNG")                                         



Je commence à écrire des posts plus longs que les plus courts de Michel... faut que je sorte m'aérer. Tire la langue

Journalisée

Eric
Doudou39330
Bertrand. Jura (39)
CLUB DES DETENDUS DU PARE-BATTAGE
Membre Héroïque
*
Hors ligne Hors ligne

Messages: 4805


Posteur à 36%


Safari 0.8.2
Mac OS

WWW
« Répondre #50 le: 25 Mars 2020 14:05:28 »

Génial... Tr&egrave;s souriant Tr&egrave;s souriant Tr&egrave;s souriant

Fait gaffe sort pas trop loin car ça va te couter 135€  Clin d'oeil Tr&egrave;s souriant Grima&ccedil;ant

Merci en tout cas. Je vais imprimer ton post afin de pouvoir travailler un peu afin de le refaire avec Olivia.

Bon pour mes vielles neurones c’est un peu compliqué et Olivia comprends plus vite que moi  donc c’est rassurant.. nageur nageur

Encore merci  Clin d'oeil

Journalisée

Fourwinns 195 Sundowner / optimax 150

Pages: 1 [2]   Haut de page
  Imprimer  
 
Aller à:  

Propulsé par MySQL Propulsé par PHP Ce forum protège les données personnelles en interdisant le référencement et la diffusion de ceux-ci. Ce forum protège les droits d'auteur en permettant à� tout moment à� un membre de signaler un contenu illicite auprès de l'hébergeur de fichier. Ce forum requiert d'avoir l'age minimum de 18 ans  XHTML 1.0 Transitionnel valide ! CSS valide !
Page générée en 0.224 secondes avec 31 requêtes. Google a visité dernièrement cette page Aujourd'hui à 05:48:40
Créer son Forum ~ Abus ~ © smfgratuit
Basé sur: SMF © Simple Machines LLC
   copyright Veradoclubfrance   Cnil: FORUM DISPENSE DE DECLARATION CNIL      
PR:0 PageRank #0 Plus haut que 10
  
Créer son Forum ~ Abus ~ © smfgratuit