jsb-synth/tuto/tutorial.md
2025-02-27 00:41:31 +01:00

232 lines
4.8 KiB
Markdown

# Tutoriel Python
## Terminal
Ouvrir un terminal : CTRL+ALT+T ou le bouton noir en bas de l'écran.
Commandes :
* `ls` : **l**i**s**ter les fichiers et dossiers
* `cd mondossier` : **c**hanger de **d**ossier
* `cd ..` : aller dans le dossier parent
* `mkdir mondossier` : créer le dossier
* `python3 monfichier.py` : lancer le fichier Python
* `mv ancien nouveau` : déplacer ou renommer un fichier ou dossier
* `cp ancien nouveau` : copier un fichier
Raccourcis clavier :
* `CTRL+C` : arrêter la commande
* `Tab` : compléter automatiquement le nom de fichier
* flèche haut/bas : historique des commandes
## Valeurs, variables, affichage
Afficher des valeurs avec `print` :
```python
print(42)
print(10, 20, 30)
print("On peut écrire du texte.")
print("Voici un nombre :", 123, ".")
```
Utiliser des variables :
```python
annee = 2025
print("Nous sommes en", annee)
```
Faire des calculs :
```python
annee = 2025
futur = annee + 10
print("Dans 10 ans, nous serons en", futur)
futur = futur + 5
print("Dans 15 ans, nous serons en", futur)
```
Il y a d'autres opérateurs :
* `+` : addition
* `-` : soustraction
* `*` : multiplication
* `/` : division
* `%` : modulo (reste de la division)
* `**` : puissance
## Faire des choix
Si (if) une valeur est vraie, alors je fais quelque chose :
```python
if True:
print("True signifie vrai")
print("Donc ce code est toujours exécuté")
if False:
print("False signifie faux")
print("Donc ce code n'est jamais exécuté")
prix = 150
if prix > 100:
print("C'est trop cher !")
prix = 100
```
Il y a d'autres comparateurs :
* `==` : égal
* `!=` : différent
* `<` : inférieur
* `>` : supérieur
* `<=` : inférieur ou égal
* `>=` : supérieur ou égal
Sinon (else), je fais autre chose :
```python
if 6*7 == 42:
print("bien !")
else:
print("oups")
```
On peut aussi enchaîner plusieurs else if :
```python
if nombre > 0:
print("le nombre est strictement positif")
elif nombre < 0:
print("le nombre est strictement négatif")
else:
print("le nombre est nul")
```
## Boucle for
On peut exécuter un code un nombre donné de fois :
```python
print("Je vais compter de 0 à 9 !")
for i in range(10):
print(i)
print("Je vais compter de 1 à 10 !")
for i in range(1, 11):
print(i)
```
## Listes
Une liste est plusieurs valeurs entre crochets.
On peut ajouter un élément à la fin avec `append`, et coller deux listes avec `+`.
```python
fruits = []
print("C'est vide :", fruits)
fruits.append("pomme")
fruits.append("kiwi")
fruits = fruits + ["abricot", "orange"]
```
La boucle `for` exécute un code pour chaque élément de la liste, dans l'ordre.
```python
for fruit in fruits:
print("Ceci est un fruit :", fruit)
```
On peut lire un élément donné du tableau (la numérotation commence à 0) :
```python
file = ["Toto", "Titi", "Tata", "Tutu"]
print("La deuxième personne dans la file est", file[1])
```
On peut changer la valeur d'un élément de la liste :
```python
file[2] = "Anne Onyme"
```
On peut aussi faire des listes de listes :
```python
stock = [
["patates", 52],
["poireaux", 20],
["carottes", 40]
]
for element in stock:
print("Nombre de", element[0], ":", element[1])
```
Pour avoir à la fois l'indice (le numéro) de l'élément, et l'élément :
```python
planetes = ["Mercure", "Vénus", "Terre", "Mars"]
for i in range(len(planetes)):
print("La planète numéro", i+1, "se nomme", planetes[i])
```
On peut retirer un élément avec `pop`.
```python
planetes = ["Lune", "Jupiter", "Saturne"]
# Oups, la Lune n'est pas une planète.
print("Je retire", planetes.pop(0), "de la liste.")
```
On peut agrandir une liste en répétant un élément un nombre donné de fois :
```python
zeros = [0] * 1000
print("Mille zéros !", zeros)
```
## Fonctions mathématiques
* `max(a, b)` : donne le plus grand nombre entre a et b
* `min(a, b)` : donne le plus petit nombre entre a et b
* `max(liste)` : donne la valeur maximum de la liste
* `min(liste)` : donne la valeur minimum de la liste
* `sum(liste)` : donne la somme de tous les éléments de la liste
* `int(nombre)` : partie entière (enlève les chiffres après la virgule)
* `round(nombre)` : arrondit au plus proche
* `abs(nombre)` : valeur absolue (distance à zéro)
Pour avoir des fonctions plus avancées, il faut importer le module `math` au début du fichier :
```python
import math
```
* `math.pi` : 3.1415926...
* `math.sin(x)` : sinus
* `math.cos(x)` : cosinus
* `math.floor(x)` : arrondit à l'inférieur
* `math.ceil(x)` : arrondit au supérieur
## Aléatoire
Il faut importer le module `random` au début du fichier :
```python
import random
```
* `random.random()` : nombre (à virgule) aléatoire entre 0 et 1
* `random.randint(100, 200)` : nombre (entier) aléatoire entre 100 (inclus) et 200 (inclus)
* `random.choice(liste)` : choisit un élément au hasard dans la liste
## Fonctions anonymes