Page 1 of 1

[Résolu] Affichage Programme

PostPosted: 28 Feb 2023, 01:13
by azertyuiop197194500
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: Select all
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-)

Re: [Aide] Affichage Programme

PostPosted: 01 Mar 2023, 12:00
by azertyuiop197194500
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

Re: [Aide] Affichage Programme

PostPosted: 01 Mar 2023, 12:12
by Adriweb
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.

Re: [Aide] Affichage Programme

PostPosted: 01 Mar 2023, 13:26
by azertyuiop197194500
Adriweb wrote: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: Select all
input("Appuyez sur Entrée pour continuer...")
:sob:
Par contre je ne savais pas qu'il y'avais une version de micropython de khicas.