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 - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » TDM n°14 – Le python, base et utilisation
Massena En ligne Ancien rédacteur Points: 2219 Défis: 11 Message

TDM n°14 – Le python, base et utilisation

Posté le 25/09/2019 18:00

Le Tuto Du Mercredi [TDM] est une idée qui fut proposée par Ne0tux. Le principe est simple : tout les mercredis, nous postons un tutoriel sur l'Utilisation de la calculatrice, le Transfert, les Graphismes, la Programmation, ou encore la Conception de jeux.

Quels sont les fondamentaux du python à connaître et comment coder sur calculatrice dans ce language ?

Niveau : ★ ★ ★ ☆ ☆

Tags : Python, micropython, casio, tutoriel

Fut un temps où le C était le langage de programmation abordé au lycée. Las, le python a désormais remplacé ce langage depuis la réforme du lycée. Heureusement, le python est plus facile d'accès aux non-intiés et devient un bon compromis entre la syntaxe et la puissance du C et la simplicité de compréhension du Basic Casio. Dans ce premier TDM, nous allons découvrir comment utiliser correctement Python.

Partie I – La syntaxe du python

Le python est un langage plutôt complexe en apparence, mais simple en réalité. Je pars du pricnipe que vous avez des bases en programmation, et que vous souhaitez parcourir dans les grandes lignes le python. Voici à quoi peut ressembler un programme simple :

a=int(input("Donne un chiffre entre 0 et 1 !"))

if a==0:
   print("Ton chiffre est 0 !")
else:
   print("Ton chiffre est 1 !")

Je vais parler dans cette section de la syntaxe principale et des variables. Tout d'abord, parlons des variables :
Une variable est une inconnue, une valeur qui peut varier au cours du programme. Il existe deux principaux types de variables en python : le type int pour désigner un nombre entier et le type float pour autoriser les nombres décimaux. Il ne faut rien préciser comme type lorsque vous demandez du texte. Il n'est pas obligé de marquer le type de la variable, mais il est obligatoire de le mettre lors d'une entrée de la part de l'utilisateur (lorsqu'on leur demande une information). La syntaxe simplifiée pour affecter une variable est la suivante :

#La syntaxe d'affectation est variable = valeur
#Une variable peut prendre n'importe quel nom avec les lettres de A à Z, les chiffres de 0 à 9 et le underscore _
#Vous pouvez commenter votre programme avec le signe hashtag #

x = 42
Nombre = 98.2
Valeur_variable = int(5)
Virgule = float(0.333333)
A = B
Loisir = "coder en python"
r = float(input("Entrez le rayon du cercle :")

#La dernière ligne demande à l'utilisateur de rentrer la valeur de la variable r

Au niveau de la syntaxe, il y a deux règles principales à retenir :
- Le début du contenu des boucles et conditions commence toujours par les deux points : à la fin de la fonction. Le contenu est toujours "décalée" vers la droite, mais cela se fait automatiquement. Comme exemple, regardez le premier programme.
- Une chaîne de caractère, du texte si vous préférez, sera toujours indiqué entre guillemets. Une valeur correspondant à un type comme float ou les arguments plsu génralements sont toujours entre paranthèses, séparés par une virgule lorsqu'il y en a plusieurs.
Nous pouvons dè maintenant attaquer les entrées et sorties, même si nous l'avons déjà abordé un peu au dessus !

Partie II – Opération simples et entrées/sorties

Vous pouvez manipuler des variables grâce aux opérateurs mathématiques. Lors d'un calcul sur python, les règles de calcul traditionnel sont respectés ainsi que l'ordre des opérations. Le python a un avantage par rapport aux calculatrices : Il permet de calculer de plus grands nombres, comme 9^9^9^9 etc. Voici une listes des principaux opérateurs en python :

#Opérateurs de calcul
a+b
a*b
a-b
a/b
a**b         #Cacule a puissance b
sqrt(a)      #Calcule la racine carrée de a
a%b          #Calcule le reste de la dicision euclidienne de a par b

#Opérateurs de condition
a==b         #Demande si a est égal à b
a>=b         #Demande si a est superieur à b
a<=b         #Demande si a est inferieur à b
a!=b         #Demande si a n'est pas égal à b
and          #Permet de demander si deux conditions sont validées
or           #Permet de demander si une des deux conditions est validée
not          #Permet de demander si une condition n'est pas validée

Les opérateurs de calcul sont principalement utilisées durant des affectations de variables, tandis que les opérateurs de condition sont utilisées dans... les conditions et les boucles.

Pour demander une valeur à l'utilisateur, il faut utiliser l'argument input lors de l'affectation d'une variable :

#Variable = type(input("texte"))

x = int(input("Donne un nombre entre 1 et 50"))
Valeur_De_Lutilisateur = eval(input("Donne moi une puissance au hasard !"))
Nom = input("Comment t'appelles-tu ?")

Pour afficher du texte ou une variable, vous pouvez utiliser la fonction print :

#print(argument)

print(3.14)
print(n)
print("Coucou les loulous !")

Partie III – Boucles et conditions

Dans un programme, il y a le plus souvent des décisions à prendre ou des fonctions à répéter en boucle. C'est le rôle des conditions et des boucles, qu'elles soient bornées ou non. Rappel de l'espacement dans une boucle ou une condition :

...
if a==0 and b == 2:
   b=1+1
   for i in range(1, 51):
      print(b)
      b=b+i
else:
   print("Essaye encore !")
...

Ce code ne fait... rien de particulier mais est particulièrement représentatif de l'espacement dans le contenu d'une boucle ou d'une condition. N'oubliez jamais cette règle !

Voici la syntaxe d'une condition :

#if normal
if argument(s):
   instruction(s)

#if else (Si... Sinon...)
if arguments(s):
   instruction(s)1
else:
   instruction(s)2

Les conditions peuvent contenir plusieurs arguments, séparés par un and ou un or. Avec and, le contenu de la condition s'effetuera lorsque les deux conditions seront vérifées, et avec le or lorsqu'une des deux conditions sera vérifiée. Vous pouvez combiner plusieurs opérateurs logiques.

Passons aux boucles. Il en existe deux types : les boules dites "bornées", qui tourneront un nombre défini de fois, et les boucles dites "non-bornées", qui tourneront tant que la condition de sortie sera vérifiée. A noter que la boucle bornée va s'effectuer n-1 fois ! Cela veut dire que si vous marquez 50 au nombre d'arrêt, la boucle va tourner 49 fois.

#Syntaxe de la boucle bornée, avec x étant la valeur allant varier, n affecté à x au début de la boucle (généralement 1) et m-1 le nombre de tours.
for x in range(n,n-1):
   instruction(s)

#Syntaxe de la boucle non-bornée qui va continuer de tourner tant que la condition est vérifiée :
while condition:
   instruction(s)

Voilà, vous avez désormais toutes les cartes en main pour créer de simples petits programmes de calcul ! Ceci est un chapitre largement abordé au lycée : nul doute que votre enseignant vous expliquera mieux que moi

Liens utiles :
- Un tutoriel bien plus complet sur le python, avec des screens pour la Graph 90+
- Le tutoriel du wiki python
- Votre prof de math

Consulter le TDM précédent : TDM n°13 - Faire une belle présentation de votre jeu !
Consulter l'ensemble des TDM


Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 11/11/2019 11:41 | #


Disperseur a écrit :
On est d'accord que sur le shell on ne peut pas ecrire des instructions sur plusieures lignes ?

Ça dépend des shells. Dans le shell Python canonique tu peux absolument le faire, il suffit de rajouter un backslash à la fin de la ligne pour indiquer que la suite arrive (facultatif si la ligne se termine déjà par un deux points).
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 11/11/2019 11:48 | #


Mais sur celui de la g90, sur ce microPython la, on peux ?
Shadow15510 Hors ligne Administrateur Points: 5496 Défis: 18 Message

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


Sur CasioPython, c'est possible, mais pas sur le Python de Casio…
"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 11/11/2019 14:08 | #


Oky


patronus891 Invité

Citer : Posté le 07/05/2023 13:42 | #


est il possible d utilise python sur casio fx-9860II
Slyvtt Hors ligne Maître du Puzzle Points: 2274 Défis: 17 Message

Citer : Posté le 07/05/2023 14:28 | #


Patronus891 a écrit :
est il possible d utilise python sur casio fx-9860II

Python n'est pas officiellement supporté sur les fx9860GII.

Par contre récemment Lephé a fait une adaptation de Micropython qui doit tourner sur ta machine :
regarde ici PythonExtra (Beta)

C'est du Work In Progress, mais les trucs simples tournent. En plus il y a un support amélioré du clavier (GetKey et des routines graphiques beaucoup plus rapide).
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Mb88 Hors ligne Labélisateur Points: 944 Défis: 3 Message

Citer : Posté le 07/05/2023 17:36 | #


Heu pas sûr : pe utilise fopen, fread, fclose etc.
EDIT : même sûrement pas
Parisse Hors ligne Membre Points: 457 Défis: 0 Message

Citer : Posté le 07/05/2023 18:28 | #


D'après les tests de critor, micropy tourne sur cette calculatrice.
https://tiplanet.org/forum/archives_voir.php?id=3224228
C'est un environnement complet oncalc, avec tous les modules utiles pour le lycée (et un peu au-delà), un shell avec des menus pour saisir les commandes les plus fréquentes, un petit éditeur, ...
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 07/05/2023 19:28 | #


PythonExtra ne tourne pas sur les fx-9860G II, mais CasioPython, son prédécesseur, oui
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Slyvtt Hors ligne Maître du Puzzle Points: 2274 Défis: 17 Message

Citer : Posté le 07/05/2023 19:43 | #


AH mince, désolé d'avoir dit une bétise. Autant pour moi, je pensais que c'était OK.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...

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 99 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