π
<-
Chat plein-écran
[^]

Un démineur en python pour la NumWorks

Re: Un démineur en python pour la NumWorks

Message non lude jules.py » 28 Juin 2020, 14:21

salut, super script juste par curiosité pourquoi cela ne marche pas sur omega
81151a1669ebd695e837f304a0d8ec79
Avatar de l’utilisateur
jules.pyGénéreux
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 43.4%
 
Messages: 11
Inscription: 24 Oct 2019, 16:47
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 5ème

Re: Un démineur en python pour la NumWorks

Message non lude critor » 10 Aoû 2020, 16:29

cent20 a écrit:demineur.py script de Arthur Jacquin, annoncé ici, Lien workshop


Le lien workshop semble ne plus marcher, erreur 404 :
https://workshop.numworks.com/python/ar ... n/demineur

Que se passe-t-il ?

Merci.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.4%
 
Messages: 41455
Images: 14353
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Un démineur en python pour la NumWorks

Message non lude cent20 » 10 Aoû 2020, 17:12

Changement de nom ?
Il est ici non ? https://workshop.numworks.com/python/ar ... inesweeper
Image
Enseignant de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
Avatar de l’utilisateur
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 45.9%
 
Messages: 1007
Images: 64
Inscription: 17 Mai 2012, 09:49
Localisation: Avignon
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: nsi_xyz

Re: Un démineur en python pour la NumWorks

Message non lude critor » 10 Aoû 2020, 17:27

Merci. :)

Ben faut pas changer les noms, du moins avec le workshop officiel. ;)
ça casse tous les liens déjà partagés.

C'est l'un de ses principaux défauts.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.4%
 
Messages: 41455
Images: 14353
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Un démineur en python pour la NumWorks

Message non lude Afyu » 10 Aoû 2020, 17:30

Cet article est très intéressant ! :)

J'ai passé un paquet d'heures à optimiser mes derniers scripts Python (des jeux pour la NumWorks, que l'on peut retrouver sur le site, dans les Jeux NumWorks justement) et j'ai découvert des choses intéressantes. Je n'ai pas utilisé de double chevron "<<" par contre. ^^

Le problème du blanc semble avoir été résolu pour fill_rect mais pas encore pour draw_string, en tous cas. Le texte affiché avec le paramètre 'white' ou le triplet (255,255,255) n'est pas tout à fait blanc et est visible. Ça donne des caractères gris très clair, un peu fantomatiques. https://github.com/numworks/epsilon/issues/1643

Bisam a écrit:Plus loin, on trouve
Code: Tout sélectionner
if (v-42)%100 == 0: gps(x,y,0)
    else: gps(x,y,9)
. J'aurais plutôt écrit :
Code: Tout sélectionner
gps(x,y, 0 if v%100 == 42 else 9)
à la place de ces deux lignes.


On peut même remplacer ça par :
Code: Tout sélectionner
gps(x,y,9*(v%100 != 42))
le test d'inégalité renvoie un booléen qui est alors transformé en 0 ou en 1 lors de la multiplication.
Avatar de l’utilisateur
AfyuVIP++
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 89.2%
 
Messages: 339
Images: 18
Inscription: 30 Oct 2019, 19:17
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: plutôt, oui :)

Re: Un démineur en python pour la NumWorks

Message non lude Dogm » 10 Aoû 2020, 18:44

Au niveau performance vos codes sont équivalents ou ils apportent des gains ?
Avatar de l’utilisateur
DogmEcrivain
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 44.3%
 
Messages: 117
Images: 7
Inscription: 14 Nov 2019, 18:53
Localisation: Lyon, France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Terminale Math NSI
GitHub: Tim-ats-d

Re: Un démineur en python pour la NumWorks

Message non lude Bisam » 11 Aoû 2020, 18:43

Afyu a écrit:On peut même remplacer ça par :
Code: Tout sélectionner
gps(x,y,9*(v%100 != 42))
le test d'inégalité renvoie un booléen qui est alors transformé en 0 ou en 1 lors de la multiplication.

C'est vrai mais là, ça ressemble plus à du C, et on perd tout l'intérêt du Python, à savoir la lisibilité du code !

Quant aux performances, je suis à peu près persuadé que l'opérateur ternaire qu'est truc if test else machin est interprété exactement de la même façon que le "recast" de booléen en "integer".
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.5%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Un démineur en python pour la NumWorks

Message non lude Afyu » 11 Aoû 2020, 19:06

Bisam a écrit:
Afyu a écrit:On peut même remplacer ça par :
Code: Tout sélectionner
gps(x,y,9*(v%100 != 42))
le test d'inégalité renvoie un booléen qui est alors transformé en 0 ou en 1 lors de la multiplication.

C'est vrai mais là, ça ressemble plus à du C, et on perd tout l'intérêt du Python, à savoir la lisibilité du code !


Certes, mais la mémoire de la NumWorks n'est pas extraordinaire non plus, alors c'est un moyen d'optimiser (en raccourcissant) ses scripts pour pouvoir tous les mettre sur la calculatrice et partir en vacances avec.

Mais effectivement, ça nuit grandement à la lisibilité du code, et il peut être intéressant de garder une version pas optimisée mais lisible (et éventuellement commentée !) à disposition des curieux :)
Avatar de l’utilisateur
AfyuVIP++
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 89.2%
 
Messages: 339
Images: 18
Inscription: 30 Oct 2019, 19:17
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: plutôt, oui :)

Re: Un démineur en python pour la NumWorks

Message non lude cent20 » 11 Aoû 2020, 20:01

Afyu a écrit:
Certes, mais la mémoire de la NumWorks n'est pas extraordinaire non plus, alors c'est un moyen d'optimiser (en raccourcissant) ses scripts pour pouvoir tous les mettre sur la calculatrice et partir en vacances avec.

Mais effectivement, ça nuit grandement à la lisibilité du code, et il peut être intéressant de garder une version pas optimisée mais lisible (et éventuellement commentée !) à disposition des curieux :)


De ce que j’ai compris de Critor - en espérant qu’il me pardonnera si j’ai compris de travers - ce n’est pas parce que le script est court qu’il utilise peu de place en mémoire de stockage.

Au début, je mettais : p = print pour gratter des octets, mais à l’exécution j’ai défini une variable de plus, donc mauvais deal...

Le vrai progrès ça sera le jour où les scripts seront stockés dans les 8mo et pas dans la RAM !
Image
Enseignant de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
Avatar de l’utilisateur
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 45.9%
 
Messages: 1007
Images: 64
Inscription: 17 Mai 2012, 09:49
Localisation: Avignon
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: nsi_xyz

Re: Un démineur en python pour la NumWorks

Message non lude Afyu » 11 Aoû 2020, 21:26

cent20 a écrit:
Afyu a écrit:
Certes, mais la mémoire de la NumWorks n'est pas extraordinaire non plus, alors c'est un moyen d'optimiser (en raccourcissant) ses scripts pour pouvoir tous les mettre sur la calculatrice et partir en vacances avec.

Mais effectivement, ça nuit grandement à la lisibilité du code, et il peut être intéressant de garder une version pas optimisée mais lisible (et éventuellement commentée !) à disposition des curieux :)


De ce que j’ai compris de Critor - en espérant qu’il me pardonnera si j’ai compris de travers - ce n’est pas parce que le script est court qu’il utilise peu de place en mémoire de stockage.

Au début je mettais : p = print pour gratter des octets, mais à l’exécution j’ai défini une variable de plus, donc mauvais deal...

Le vrai progrès ça sera le jour où les scripts seront stockés dans les 8mo et pas dans la RAM !


Certes, mais tu ne les exécutes pas tous en même temps (enfin, j'espère ! :p). Par contre, si tu pars en vacances sans ordi, et sans Internet, il faut que tu les mettes tous sur ta calculatrice en même temps, avant de partir.
Si j'ai bien compris, à l'exécution, le script est intégralement copié dans la RAM, donc plus le script est court et plus tu y gagnes. Mais si tu définis une variable supplémentaire, alors ça prend plus de place dans le stack et dans le heap (je ne me trompe pas ?). Dilemme ! :D
Avatar de l’utilisateur
AfyuVIP++
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 89.2%
 
Messages: 339
Images: 18
Inscription: 30 Oct 2019, 19:17
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: plutôt, oui :)

PrécédenteSuivante

Retourner vers Programmation Python

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
795 utilisateurs:
>770 invités
>20 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)