π
<-
Chat plein-écran
[^]

[Résolu] Affichage Programme

TI's micropython + modules

[Résolu] Affichage Programme

Message non lude azertyuiop197194500 » 28 Fév 2023, 01:13

Bonjour,

Je me suis récemment tourné vers le langage Python pour ma calculatrice TI Nspire CX CAS. Comme vous l'avez deviné, j'ai utilisé MicroPython. Cependant, lorsque l'on commence à faire des programmes qui affichent pas mal d'informations sur la calculatrice, on ne voit pas tout. J'ai essayé pas mal de commandes, mais j'ai probablement eu des erreurs car la librairie n'existe pas en Micropython. Donc, je voudrais savoir si vous aviez une solution pour soit faire défiler dans la console, soit une solution pour que je puisse voir tous les résultats affichés. D'ailleurs, si j'enregistre les résultats dans un fichier de la calculatrice (tous les prints), cela peut-il fonctionner ? Par exemple, j'exécute mon programme depuis la calculatrice et une fois celui-ci fini, il enregistre tout dans un fichier .tns que j'ouvrirai afin de voir tous les résultats. Est-ce possible ?

Le programme en question :
Code: Tout sélectionner
import math

# Demande à l'utilisateur le nombre de mesures à faire
n = int(input("Combien de mesures voulez-vous faire ? "))

# Définition du nom de la première colonne (numéro de mesure)
col1_name = "N de mesure"

# Demande à l'utilisateur le nom de la deuxième colonne
col2_name = (input("Nom de la deuxième colonne : "))

# Création de la liste de mesures
mesures = []
for i in range(n):
  mesure = (i+1, float(input("Entrez la longueur mesurée pour la mesure n°{}: ".format(i+1))))
  mesures.append(mesure)

# Affichage du tableau
print("{:<25} | {:<25}".format(col1_name, col2_name))
print("-" * 50)
for mesure in mesures:
  print("{:<25} | {:<25}".format(mesure[0], mesure[1]))

# Calcul de la moyenne arithmétique
somme = 0
for mesure in mesures:
  somme += mesure[1]
moyenne = somme / n

# Affichage des calculs pour la moyenne arithmétique
print("\nCalculs pour la moyenne arithmétique :")
print("Somme des mesures :", somme)
print("Nombre de mesures :", n)
print("Moyenne arithmétique :", moyenne)

# Calcul de la médiane
mesures.sort(key=lambda x: x[1])
if n % 2 == 0:
  m = n // 2
  mediane = (mesures[m-1][1] + mesures[m][1]) / 2
else:
  m = n // 2
  mediane = mesures[m][1]

# Affichage des calculs pour la médiane
print("\nCalculs pour la médiane :")
print("Liste des mesures triée :", [m[1] for m in mesures])
print("Médiane :", mediane)

# Calcul du mode
occurrences = {}
for mesure in mesures:
  mesure_value = int(mesure[1])
  if mesure_value not in occurrences:
    occurrences[mesure_value] = 1
  else:
    occurrences[mesure_value] += 1

mode = max(occurrences, key=occurrences.get)

# Affichage des calculs pour le mode
print("\nCalculs pour le mode :")
print("Occurrences de chaque valeur :", occurrences)
print("Mode :", mode)

# Calcul du domaine R
minimum = min(mesures, key=lambda x: x[1])[1]
maximum = max(mesures, key=lambda x: x[1])[1]
R = maximum - minimum

# Affichage des calculs pour le domaine R
print("\nCalculs pour le domaine R :")
print("Valeur minimale :", minimum)
print("Valeur maximale :", maximum)
print("Domaine R :", R)

# Calcul de la déviation moyenne dx
moyenne = sum(mesure[1] for mesure in mesures) / n
somme_des_ecarts = sum(abs(mesure[1] - moyenne) for mesure in mesures)
dx = somme_des_ecarts / n

# Affichage des calculs pour la déviation moyenne dx
print("\nCalculs pour la déviation moyenne dx :")
print("Moyenne :", moyenne)
print("Somme des écarts :", somme_des_ecarts)
print("Déviation moyenne dx :", dx)

# Calcul de l'écart type empirique corrigé σ
n = len(mesures)
moyenne = sum([mesure[1] for mesure in mesures]) / n
ecart_type = math.sqrt((sum([(mesure[1] - moyenne)**2 for mesure in mesures])) / (n-1))

# Affichage des calculs pour l'écart type empirique corrigé
print("\nCalculs pour l'écart type empirique corrigé :")
print("Moyenne :", moyenne)
print("Ecart type :", ecart_type)

# Calcul du coefficient de variation Cv
moyenne = sum(mesure[1] for mesure in mesures) / n
somme_des_carres = sum([(mesure[1] - moyenne) ** 2 for mesure in mesures])
ecart_type = (somme_des_carres / (n-1)) ** (1/2)
Cv = ecart_type / moyenne * 100

# Affichage des calculs pour le coefficient de variation Cv
print("\nCalculs pour le coefficient de variation Cv :")
print("Moyenne :", moyenne)
print("Ecart type :", ecart_type)
print("Coefficient de variation Cv :", Cv, "%")

# Calcule  de l'écart type de la valeur moyenne σx
somme = sum([mesure[1] for mesure in mesures])
n = len(mesures)
moyenne = somme / n

# Calcul de l'écart-type de la valeur moyenne
ecart_type_moyenne = ecart_type / (n ** (1/2))

# Affichage des calculs pour l'écart-type de la valeur moyenne
print("\nCalculs pour l'écart-type de la valeur moyenne :")
print("Somme des mesures :", somme)
print("Nombre de mesures :", n)
print("Moyenne :", moyenne)
print("Ecart-type de la distribution :", ecart_type)
print("Ecart-type de la valeur moyenne :", ecart_type_moyenne)

# Calcul de la moyenne
n = len(mesures)
somme = sum(mesure[1] for mesure in mesures)
moyenne = somme / n

# Calcul de l'écart-type corrigé
ecart_type = ((sum([(mesure[1] - moyenne)**2 for mesure in mesures])) / (n-1))**(1/2)

# Calcul de l'écart-type de la moyenne
ecart_type_moyenne = ecart_type / (n**(1/2))

# Calcul des intervalles de confiance
interval_1 = (moyenne - ecart_type_moyenne, moyenne + ecart_type_moyenne)
interval_2 = (moyenne - 2*ecart_type_moyenne, moyenne + 2*ecart_type_moyenne)

# Vérification des intervalles de confiance
count_1 = sum(interval_1[0] <= mesure[1] <= interval_1[1] for mesure in mesures)
count_2 = sum(interval_2[0] <= mesure[1] <= interval_2[1] for mesure in mesures)

# Affichage des résultats
print("\nIntervalles de confiance :")
print("P(x̄ - σ, x̄ + σ) ≈ % :", interval_1, " (", count_1, "/", n, ")")
print("P(x̄ - 2σ, x̄ + 2σ) ≈% :", interval_2, " (", count_2, "/", n, ")")

input("Appuyez sur Entrée pour quitter...")

d'ailleurs une solution pour les accent buger sur la console, je voudrais rendre l'affichage sur ma calculatrice plus esthetique B-)
Dernière édition par azertyuiop197194500 le 01 Mar 2023, 14:39, édité 1 fois.
Avatar de l’utilisateur
azertyuiop197194500
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 74.2%
 
Messages: 13
Inscription: 12 Jan 2022, 21:53
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Master

Re: [Aide] Affichage Programme

Message non lude azertyuiop197194500 » 01 Mar 2023, 12:00

Je viens d'essayer d'ajouter un delai sur l'affichage de chaque résultat mais le programme Micropython ne prend pas en charge Time ??????
import time : erreur
import utime: erreur
Avatar de l’utilisateur
azertyuiop197194500
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 74.2%
 
Messages: 13
Inscription: 12 Jan 2022, 21:53
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Master

Re: [Aide] Affichage Programme

Message non lude Adriweb » 01 Mar 2023, 12:12

Le micropython de Vogtinator est très vieux et n'a probablement pas de tels modules. Tu peux esasyer le micropython de khicas (je sais plus s'il est dispo en standalone aussi, possible...), il est à jour et a davantage de modules.
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14606
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: [Aide] Affichage Programme

Message non lude azertyuiop197194500 » 01 Mar 2023, 13:26

Adriweb a écrit:Le micropython de Vogtinator est très vieux et n'a probablement pas de tels modules. Tu peux esasyer le micropython de khicas (je sais plus s'il est dispo en standalone aussi, possible...), il est à jour et a davantage de modules.

Merci pour la réponse je viens de trouver une solution toute simple qui est :
Code: Tout sélectionner
input("Appuyez sur Entrée pour continuer...")
:sob:
Par contre je ne savais pas qu'il y'avais une version de micropython de khicas.
Avatar de l’utilisateur
azertyuiop197194500
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 74.2%
 
Messages: 13
Inscription: 12 Jan 2022, 21:53
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Master


Retourner vers Python

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 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.
984 utilisateurs:
>966 invités
>13 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)