Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Assistant personnel Python ALICIA
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Assistant personnel Python ALICIA

Posté le 26/01/2019 16:37

Bonjour à tous sur PC,

Je poste aujourd'hui un programme qui est un assistant personnel codé en python. Son nom vous rappellera surement celui de Apple ou de google.. l'objectif étant de rester dans le même esprit. Je viens de revoir de zéro le code, en allégeant, simplifiant et bien sur en améliorant, ajoutant des possibilités au tout.
On obtient donc un bel assistant ici déjà dans sa version beta (1.7), pouvant tenir une conversation (très peut pertinente et de courte durée mais suffisante étant donné l'objectif principal du projet), de calculer n'importe quel expression mathématique (j'exclus la résolution d'équations et le calcul formel pour le moment même si ceci reste sur ma longue TODO liste concernant ce projet de fou), de fournir des nombres aléatoires (compris entre 0 & 1, je vais certainement ajouter la possibilité de choisir ses bornes), de choisir au hasard un élément contenu dans une liste, et très prochainement de citer des blagues (quelle originalité), de tracer un graphe de fonction (en attente pour le module graphique de CASIO, et en première place de la TODO liste), et d'autre encore.

En raison de la possibilité de saisir des fonctions python ou mathématique utilisant le séparateur "," (virgule), il est déconseillé d'utiliser la virgule dans les demandes que vous ferez à ALICIA car ces virgules ne seront pas retirées par le programme de formatage et donc risquent de corrompre la lecture de la saisie et de ne pas vous donner le résultat attendu. Je travaille actuellement à résoudre ce problème ennuyeux.

Le programme actuel à été développé sur ordi (j'utilise l'IDE Idle) et donc compatible avec la g90 et la g35+E II (normalement, je n'ai pas pu essayer ). Néanmoins l'affichage n'as pas été optimisé pour ces calculatrices, je suis en train d'y réfléchir, et donc il peut être difficile de l'utiliser sur ces supports.

Je n'ai d'autres exceptions à mentionner, si certains d'entre-vous trouvent des bugs dans les commandes ou des réponses incohérentes, merci de me les signaler.

Vous trouverez le programme en fichier joint !

Ce projet est sous Licence Creative Commons 2.0 BY

Fichier joint


Shadow15510 Hors ligne Administrateur Points: 5504 Défis: 18 Message

Citer : Posté le 26/01/2019 16:58 | #


Pourquoi il ne serait pas évitable sur Graph 90 ??
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 26/01/2019 17:00 | #


Programme trop gros
Hackcell Hors ligne Maître du Puzzle Points: 1533 Défis: 11 Message

Citer : Posté le 26/01/2019 17:00 | #


Parce que tu ne peux pas éditer les fichiers de plus de 300 ligne :/
Shadow15510 Hors ligne Administrateur Points: 5504 Défis: 18 Message

Citer : Posté le 26/01/2019 17:01 | #


Aho... dommage
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 26/01/2019 17:01 | #


oui mais le mien n'en fait pas 300. il y a je pense une ligne ou deux qui sont un peu trop longues ..
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 26/01/2019 19:38 | #


C'est ce que je t'ai dit, tu devrais le corriger ça prend 2 minutes
ouais ouais
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 26/01/2019 21:34 | #


Oui mais ça me dérange pas de l'éditer uniquement sur l'ordi et ça ajoute une certaine sécurité
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 27/01/2019 12:24 | # | Fichier joint


Disperseur a écrit :
Oui mais ça me dérange pas de l'éditer uniquement sur l'ordi et ça ajoute une certaine sécurité

Sécurité ? Selon moi un principe de la programmation c'est le partage, spécialement pour les petits programmes. Si on ne peut même pas voir ton programme depuis la calculatrice, je ne vois pas l’intérêt de donner la licence Creative Commons à celui-ci.

Je l'ai corrigé, ça m'a prit littéralement 30 secondes.
D'ailleurs l'interface de ton programme me froisse un peu, j'ai du regarder le code pour comprendre qu'il faut taper du texte après user: et non pas son pseudo.
Sinon programme sympa.
Je joins le programme éditable à mon message.
ouais ouais
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 27/01/2019 13:11 | #


Oui effectivement ce n'est pas une grosse modification
Je viens de changer le tout et d'ajouter un ">>>> bienvenue" au démarrage. (Oui je ne sais pas quoi mettre pour faire comprendre qu'il faut taper une instruction )
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 27/01/2019 14:01 | #


Disperseur a écrit :
Oui effectivement ce n'est pas une grosse modification
Je viens de changer le tout et d'ajouter un ">>>> bienvenue" au démarrage. (Oui je ne sais pas quoi mettre pour faire comprendre qu'il faut taper une instruction )

Tu pourrais retirer les >>>> avant les réponses de l'ordinateur et mettre > en invite pour l'utilisateur. Personnellement c'est ce que je fait sur tous mes programmes de ce style.

Bienvenue sur Alicia 90
> bonjour
Bonjour

> ça va ?
Oui bien sûr

> 5+5
3,162278**2

ouais ouais
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 27/01/2019 14:10 | #


Bonne idée je la garde merci.


blabla88 Invité

Citer : Posté le 04/11/2019 00:27 | #


bonsoir ; peut on mettre ce programme sur casio graph 35 + e ?
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 04/11/2019 07:07 | #


Sur graph35+E 2 oui mais pas sur graph35 C'est un programme python.
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 04/11/2019 07:09 | #


Disperseur a écrit :
Il n'est pas conseillé de mettre des caractères spéciaux comme l'apostrophe ou autre dans vos questions car il y a risque qu'Alicia ne comprenne pas . Je vous le déconseille même fortement.

Tu pourrais implémenter un filtre qui supprime tous les caractères invalides de la chaîne, pas très difficile et efficace.
ouais ouais
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 04/11/2019 07:17 | #


Ah oui j'y avait pas pensé.. tu pense que ça se ferait avec ça:
str = "".join([" " for i in range(len(str)) if str[i] = "'"  or str[i] = """])

?

Ajouté le 04/11/2019 à 07:22 :
Ah non ça marche pas... plutôt ça:
for i in range(len(str)):
   if str[i] == "'" or str[i] == """:
      str[i] = " "


Ajouté le 04/11/2019 à 07:24 :
C un peut bourrin mais ça fonctionne. Il y a un autre truc que je pourrais changer c'est la fonction que je me suis fais c***** a coder pour séparer les mots de la question de l'utilisateur alors qu'il existait .split()

Ajouté le 04/11/2019 à 07:33 :
Autre truc a ajouter sur la TODO, mettre un detecteur de simboles maths car pour le moment il faut mettre un = devant le calcul a effectuer. Je crois aussi qu'il n'y as pas de gestion des erreurs.. Ainsi que modifier la description..
En gros faut que je reprennent le tout. Ça me tente pas mal à vrai dire
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 04/11/2019 07:38 | #


Disperseur a écrit :
Ah oui j'y avait pas pensé.. tu pense que ça se ferait avec ça: [...]
for i in range(len(str)):
   if str[i] == "'" or str[i] == """:
      str[i] = " "


Ton code est invalide.
Plutôt
strO = str()
for c in str:
  if c not in "chars":
    strO += c


D'une façon très similaire tu peux détecter si la chaîne est composée uniquement de symboles maths
ouais ouais
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 04/11/2019 12:15 | #


Oui, ça ressemble a mon 2eme code plus haut..
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 04/11/2019 12:59 | #


Disperseur a écrit :
Oui, ça ressemble a mon 2eme code plus haut..

En mieux
ouais ouais
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 04/11/2019 13:04 | #


Mouais faut voir comment je vais implémenter ça

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 54 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd