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
Citer : Posté le 25/09/2019 18:48 | #
Ton tuto est super !
Cependant, on a déjà un tuto sur le Python (dont tu n'as pas mis le lien en bas ) : https://www.planet-casio.com/Fr/programmation/tutoriels.php?id=83
Tu as quelques erreurs de frappes : imput, vou,…
Citer : Posté le 25/09/2019 19:01 | #
Ah zut, j'ai pas fait une recherche assez approfondie...
Je corrigé ça dès que j'en ai l'occasion.
Citer : Posté le 25/09/2019 19:03 | #
Merci !
J'ai ajouté ton tuto à la liste.
Citer : Posté le 25/09/2019 19:27 | #
Une majuscule à Python s'il te plaît
Il faudrait corriger la capitalisation en général, surtout dans le code.
Sinon beau travail.
Citer : Posté le 25/09/2019 19:47 | #
Vraiment un tuto sympa ! J'aurai rajouté un petit exemple contenant le tout en guise de résumé perso
(Et de toute façon, vous pouvez pas dire le contraire)
MultipliCasio
RDM Calculs
Back Mirror
A Switch To The Top C
Citer : Posté le 25/09/2019 20:35 | #
Salut et merci pour ce TDM ! Quelques corrections dans les coins qui me semblent importantes en plus de ce qui a déjà été mentionné...
Nope, bien tenté toutefois mais c'est faux.
Coquilles diverses : "pricnipe", "ouhaitez", "If", "Else", manque une parenthèse fermante pour la saisie du rayon du cercle.
eval n'est pas un type (!!), mais une fonction, et très dangeureuse ! Et la notion de type concerne les données, pas les variables, même si on peut s'autoriser la confusion dans un tutoriel pour débutants.
Citer : Posté le 26/09/2019 09:50 | #
Turbo pascal pour moi au Lycée .... à une époque lointaine !
Citer : Posté le 26/09/2019 10:06 | #
Algobox pour ma part, quelques années avant la réforme python
Citer : Posté le 26/09/2019 21:11 | #
Je pars du pricnipe que vous avez des bases en programmation, et que vous ouhaitez parcourir dans les grandes lignes le python.
"ouhaitez" ??????
Sinon merci pour ce tutoriel fort utile puisqu'on va étudier le Python au lycée
Par contre est ce que les tabulations dans les boucles sont vraiment importantes ?
Ce tableau périodique à jour : Tableau périodique
Ce truc qui sert à rien : Carton de loto generator
Citer : Posté le 26/09/2019 21:14 | #
Tu es obligé d'indenter le corps des boucles oui.
Citer : Posté le 26/09/2019 21:17 | #
Ok merci
C'est qu'en fait j'avais remarqué qu'il y avait pas de commandes qui fermaient les boucles... (dans le CasioPython de Zezombye).
Ce tableau périodique à jour : Tableau périodique
Ce truc qui sert à rien : Carton de loto generator
Citer : Posté le 26/09/2019 21:18 | #
Il n'y a jamais de commandes pour fermer les blocs, en fait. C'est justement l'indentation qui indique quand ils se terminent.
Citer : Posté le 25/10/2019 12:47 | #
Attention, petite erreur d’inattention dans le tout premier code :
a=int(input("Donne un chiffre entre 0 et 1 !"))
if a==0: #il manquait un "égal"!!!
print("Ton chiffre est 0 !")
else:
print("Ton chiffre est 1 !")
Citer : Posté le 25/10/2019 13:23 | #
Bien vu, j'ai modifié.
Citer : Posté le 25/10/2019 14:09 | #
C'est que j'en fais du Python moi !
Citer : Posté le 25/10/2019 20:44 | #
Etre rédacteur c'est bien, on se fait défoncer à chaque faute commise
Je corrige mes coquilles.
Ajouté le 11/11/2019 à 11:11 :
Bon, par manque d'idée j'annule la partie 2 du TdM, qui était consacrée à l'utilisation de l'application Micropython.
Désolé !
Citer : Posté le 11/11/2019 11:17 | #
Par manque d'idées ? Il y a pourtant plein de choses à dire sur le shell, le cas des applications Python sur les Graph, print, repr, toute la parti interactive, et juste plein d'autres choses sur le langage...
Citer : Posté le 11/11/2019 11:22 | #
Je ne m'y connait malheureusement pas assez pour en dire plus...
Citer : Posté le 11/11/2019 11:31 | #
On est d'accord que sur le shell on ne peut pas ecrire des instructions sur plusieures lignes ?
-Planétarium 2
Citer : Posté le 11/11/2019 11:41 | #
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).