01. Premier programme.md 2.0 KB

Dans ton dossier python-tdd/4-bases, il y a le le fichier 01-nom-age.py, avec le contenu suivant :

nom = input("Quel est ton nom ?\n")

# Remarque 1: les valeurs booleennes en Python sont True et False
# Remarque 2: pas de do/while en Python => break pour quitter la boucle
while True:
    age = input("Quel âge as-tu ?\n")

    # Equivalent du try/catch en Java, JavaScript, PHP...
    try:
        age_converti = int(age)
    # Si la valeur saisie n'est pas convertible en entier,
    # une exception de type ValueError est générée
    except ValueError:
        print("La valeur '%s' n'est pas entière, recommence!" % (age))

    break

print("Tu t'appelles {nom} et tu as {age} ans.".format(nom=nom, age=age))

Puis dans le terminal (Remplacer python par python3 sous OS X et Linux) :

cd ~/CHEMIN/VERS/DOSSIER/python-tdd/4-bases
python 01-nom-age.py

Quelques remarques... À propos, c'est le moment de prendre des notes ! Ça pourrait ressortir dans le QCM...

Comme PHP ou JavaScript, Python est un langage de script, interprété, et n'a pas besoin de passer par une phase de compilation.

Tu te souviens de int unEntier; en Java, ou var uneVariable; en JavaScript... Vois-tu la différence ici ?... On ne déclare pas les variables en Python, on les affecte directement.

Autre chose qui doit te sembler étrange : où sont les accolades {} pour délimiter le corps de la boucle while, et ceux du try et du catch ? Disparues ! En Python, c'est le carcactère : et l'indentation qui permettent de déterminer le début et la fin d'un bloc d'instructions. Tout ce qui se trouve entre age = ... et break forme le corps du while. De la même façon, ici try et except ont chacun un bloc d'instructions constitué d'une seule ligne.

Il n'est pas nécessaire de mettre des points-virgule à la fin des lignes. Ils sont acceptés, mais en pratique, personne dans la communauté Python ne les utilise. Leur seule utilité éventuelle est de séparer des instructions sur une même ligne.