π
<-

Concours Python 2023-2024 - Championnat d'IA 1000 Bornes

Re: Concours Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby critor » 13 Oct 2023, 20:26

SlyVTT wrote:J'essaie pour ma part désespérément de faire fonctionner la version PythonEx sur ma G90+E mais j'ai toujours un message d'erreur :

"Traceback (most recent call last):
File "<stdin>", line 1
SyntaxError: Invalid Syntax
>>>
"

Vous auriez une idée ?

Tu as copié les fichiers .py à la racine ou bien dans un sous-dossier ?
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Concours Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby critor » 13 Oct 2023, 20:28

cent20 wrote:Ah la fin de la partie, il est affiché :

"Fin de partie
Gagnant IA0
Le mot du gagnant:"

Comment / où est généré "IA0", pourquoi il n'y a pas le nom de l'IA et sa version à la place ?

Les numéros d'IA sont affichés en début de partie.

cent20 wrote:
SlyVTT wrote:dans kblibprv.py au niveau des lignes 967 à 972


Code: Select all
  for k in range(nbr_joueurs):
    infos_joueur = infos_joueurs[k]
    if infos_joueur.points == score_gagnant:
      _print(exaequo and "Ex aequo" or "Gagnant", infos_joueur.id_str())
      if not exaequo: _print('Le mot du gagnant:\n"' + joueurs[k].msg_joueur + '"')


Je comprends pas pourquoi ça n'exploite pas plutôt

Code: Select all
  def id_str(self): return self.infos_joueur.id_str() + " {:s} v{:s}".format(self.nom_joueur, self.ver_joueur)


et pourquoi on nomme nos IA avec une version si au final, à chaque fois, il y a marqué IA0 ou IA1 en fin de partie dans la console 🤔

Un choix d'économie de mémoire, rien de plus. Tu peux mettre le nom de ton IA dans son message de victoire si tu veux, pour compenser.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Concours Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby SlyVTT » 13 Oct 2023, 20:30

critor wrote:
SlyVTT wrote:J'essaie pour ma part désespérément de faire fonctionner la version PythonEx sur ma G90+E mais j'ai toujours un message d'erreur :

"Traceback (most recent call last):
File "<stdin>", line 1
SyntaxError: Invalid Syntax
>>>
"

Vous auriez une idée ?

Tu as copié les fichiers .py à la racine ou bien dans un sous-dossier ?


dans un sous dossier, je vais tenter à la racine
Some works in progress :
The GUI Toolkit NF for nSpireMyShmup for fxCG-50Magic Light for Casio Graph 90+E
and
Magic Light for nSpire CX/CX-II
Simple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
50%
100%
75%
100%
And more to come ... stay tuned
User avatar
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 45.7%
 
Posts: 523
Images: 31
Joined: 19 Jan 2021, 09:41
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
GitHub: SlyVTT

Re: Concours Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby SlyVTT » 13 Oct 2023, 20:34

C'est bon merci, effectivement le problème venait de ça.
J'y ai vraiment pas pensé
Some works in progress :
The GUI Toolkit NF for nSpireMyShmup for fxCG-50Magic Light for Casio Graph 90+E
and
Magic Light for nSpire CX/CX-II
Simple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
50%
100%
75%
100%
And more to come ... stay tuned
User avatar
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 45.7%
 
Posts: 523
Images: 31
Joined: 19 Jan 2021, 09:41
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
GitHub: SlyVTT

Re: Concours Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby critor » 13 Oct 2023, 20:50

Merci pour ton retour.

PythonEx et KhiCAS/Micropy ont le même défaut j'ai l'impression.
Contrairement à l'application Python de Casio, ils ne vont pas chercher les scripts à importer dans le même dossier que celui du script que tu as lancé, mais uniquement dans la racine.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Online

Re: Concours Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby parisse » 14 Oct 2023, 10:56

critor wrote:Merci pour ton retour.

PythonEx et KhiCAS/Micropy ont le même défaut j'ai l'impression.
Contrairement à l'application Python de Casio, ils ne vont pas chercher les scripts à importer dans le même dossier que celui du script que tu as lancé, mais uniquement dans la racine.

En fait, je ne vois pas de syscall documenté qui donne le répertoire courant (dans les Bfile*), donc tous les accès fichiers par import sont traduits en chemin absolu, depuis la racine (pour faire simple). Mais Lephe connait bien mieux la Casio que moi, il va peut-être nous dire si ça existe (ce qui parait probable vu que l'app Python de Casio le fait).
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3661
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Concours Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby cent20 » 14 Oct 2023, 11:35

Bonjour,

J'essaye de faire en sorte que mes élèves, puissent évaluer leur IA via leur IDE habituel.
Le code actuel sous entend que l'évaluation se fait en ligne de commande.
J'avais patché ça en modifiant le fichier kb ainsi

Code: Select all
#          IA0              IA1
ia_test = "ia_0b0000","ia_0b0001" #    ceci a été ajouté

try:
  import sys
  if not sys.platform in ("prizm", "nspire"): # any call to sys.argv makes KhiCAS immediately crash
    #noms_joueurs = sys.argv[1:]
    noms_joueurs = ia_test      #    ceci a été modifié
    for nom_joueur in noms_joueurs:
      try: random_seed = abs(int(nom_joueur))
      except: classes_joueurs.append(__import__(nom_joueur).c_joueur)
except: pass


mais pour une raison que je ne comprends pas, ce patch ne marche plus sur mon PC sous linux
Comment je modifie kb.py pour que, à l’exécution, deux IA se combattent sans aucune saisie ?

Je précise que toute solution à base "c'est facile dans une console, c'est facile en ligne de commande" n'est pas pertinente pour mes élèves. :troll:

EDIT : Bon apparemment mon code dans ia_0b0000 est planté ce qui est la cause de mon problème :?
EDIT2 : Du coup si le code est no valide, mon patch ne marche pas. CQFT Code corrigé.
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
User avatar
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 48.3%
 
Posts: 1047
Images: 67
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: nsi_xyz

Re: Concours Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby SlyVTT » 15 Oct 2023, 09:14

Hello,

concernant l'évaluation des IAs en ligne, peut on avoir quelques détails supplémentaires ? Est-ce que l'évaluation est faite sur un seul run ? Il me semble, mais c'est pour confirmer, car il y a pas mal de disparité d'un coup sur l'autre.

Serait il possible d'ajouter une option pour lancer par exemple en automatique une évaluation sur 10 ou 20 runs en série avec les statistiques associées :
- nb de victoire IA0 vs IA1
- détails des scores et des graines associées
- delta moyen de points entre les IAs et écart type sur l'écart

sur les IAs avancées, il devient difficile de juger sur un seul run et on risque de plomber le serveur avec des demandes répétées de lancements de tests.

Merci beaucoup
Some works in progress :
The GUI Toolkit NF for nSpireMyShmup for fxCG-50Magic Light for Casio Graph 90+E
and
Magic Light for nSpire CX/CX-II
Simple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
50%
100%
75%
100%
And more to come ... stay tuned
User avatar
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 45.7%
 
Posts: 523
Images: 31
Joined: 19 Jan 2021, 09:41
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
GitHub: SlyVTT

Re: Concours Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby cent20 » 15 Oct 2023, 12:43

Un de mes élèves a ce problème :

Image

Une idée ?
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
User avatar
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 48.3%
 
Posts: 1047
Images: 67
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: nsi_xyz

Re: Concours Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby SlyVTT » 16 Oct 2023, 08:46

En l'état c'est difficile de répondre.

En premier lieu, j'aurai tendance à penser que la définition de id_str() a "sauté" dans un des fichiers d'IA. Cette fonction appartient au script d'IA (par exemple ligne 86 dans ia_random.py fournie de base). Si cette méthode a été retirée alors ça doit conduire à cette erreur. Il te faudrait bien vérifier ce premier point.

Toute nouvelle IA doit exposer les méthodes situées après le message
"
#--------------------------------------------------
# FIN DES FONCTIONS NECESSITANT D'ETRE AMELIOREES
#--------------------------------------------------
"
Il faut donc bien veiller à ne pas y toucher sous peine de problème.
Last edited by SlyVTT on 16 Oct 2023, 08:56, edited 1 time in total.
Some works in progress :
The GUI Toolkit NF for nSpireMyShmup for fxCG-50Magic Light for Casio Graph 90+E
and
Magic Light for nSpire CX/CX-II
Simple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
50%
100%
75%
100%
And more to come ... stay tuned
User avatar
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 45.7%
 
Posts: 523
Images: 31
Joined: 19 Jan 2021, 09:41
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
GitHub: SlyVTT

PreviousNext

Return to News Divers

Who is online

Users browsing this forum: ClaudeBot [spider] and 18 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
830 utilisateurs:
>773 invités
>49 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)