Interaction simple
En guise de premier exemple, nous allons concevoir un script qui calcule l'Indice de Masse Corporelle (IMC) d'un individu à partir d'informations qu'il aura saisies au clavier.
L'IMC est calculé à partir du rapport du poids (en kg) et du carré de la taille (en m).
Saisie clavier
La fonction input()
retourne, sous la forme d'une chaîne de
caractères, le texte saisi au clavier.
# input.py
firstname = input('Quel est votre prénom ? ')
print('Bonjour', firstname, '!')
Le script ci-dessus produit le résultat suivant :
Quel est votre prénom ? Olivier
Bonjour Olivier !
Affichage
Comme illustré dans l'exemple précédent, la fonction print()
permet d'afficher du texte ou des valeurs de variables dans le terminal.
Vous pouvez aussi utiliser des caractères spéciaux au sein des chaînes
de caractères que vous désirez afficher.
Caractère | Description |
---|---|
\n |
Retour à la ligne |
\t |
Tabulation |
\' |
Apostrophe, pour ne pas la confondre avec celles utilisées pour délimiter la chaîne de caractères |
Calcul de l'Indice de Masse Corporelle (IMC)
################################################
# #
# Calcul de l'indice de masse corporelle (IMC) #
# #
################################################
Votre poids (en kg) ? 84
Votre taille (en m) ? 1.86
IMC = 24.28
Exercice
Écrivez un script Python imc.py
qui calcule l'IMC. Vous créerez deux variables
de type décimal weight
et height
pour stocker
les valeurs saisies par l'utilisateur.
# Calcul de l'indice de masse corporelle
# IMC = poids/hauteur^2
print('\n\n################################################')
print('# #')
print('# Calcul de l\'indice de masse corporelle (IMC) #')
print('# #')
print('################################################\n')
weight = float(input('Votre poids (en kg) ? '))
height = float(input('Votre taille (en m) ? '))
imc = weight / ( height * height )
print('\nIMC =', imc)
On désire enrichir ce premier script en affichant, en plus de la valeur de l'IMC, un commentaire basé sur les intervalles ci-dessous :
Intervalle | Diagnostic |
---|---|
IMC ≤ 16.5 | Dénutrition ou anoréxie |
16.5 < IMC ≤ 18.5 | Maigreur |
18.5 < IMC ≤ 25 | Corpulence normale |
25 < IMC ≤ 30 | Surpoids |
30 < IMC ≤ 35 | Obésité modérée |
35 < IMC ≤ 40 | Obésité sévère |
IMC > 40 | Obésité morbide |
################################################
# #
# Calcul de l'indice de masse corporelle (IMC) #
# #
################################################
Votre poids (en kg) ? 84
Votre taille (en m) ? 1.86
IMC = 24.28
corpulence normale
Exercice
Modifiez le script Python imc.py
afin de tester la valeur
de l'IMC pour afficher le commentaire approprié.
# Calcul de l'indice de masse corporelle
# IMC = poids/hauteur^2
print('\n\n################################################')
print('# #')
print('# Calcul de l\'indice de masse corporelle (IMC) #')
print('# #')
print('################################################\n')
weight = float(input('Votre poids (en kg) ? '))
height = float(input('Votre taille (en m) ? '))
imc = weight / ( height * height )
print('\nIMC =', imc)
if imc<=16.5:
interpretation = 'dénutrition ou anoréxie'
elif imc<=18.5:
interpretation = 'maigreur'
elif imc<=25:
interpretation = 'corpulence normale'
elif imc<=30:
interpretation = 'surpoids'
elif imc<=35:
interpretation = 'obésité modérée'
elif imc<=40:
interpretation = 'obésité sévère'
else:
interpretation = 'obésité morbide'
print(interpretation)
Pour finir, on souhaite ajouter une dernière modification au script imc.py
:
le script interroge l'utilisateur s'il désire effectuer un nouveau calcul d'IMC avec d'autres
valeurs. Tant que l'utilisateur ne répond pas non, le script boucle.
################################################
# #
# Calcul de l'indice de masse corporelle (IMC) #
# #
################################################
Votre poids (en kg) ? 84
Votre taille (en m) ? 1.86
IMC = 24.28
corpulence normale
Voulez-vous continuer [O/N] ?
Exercice
Apportez une dernière modification au script en proposant
de continuer le calcul de l'IMC à l'aide de la clause
while
.
# Calcul de l'indice de masse corporelle v2
# IMC = poids/hauteur^2
while True: # condition toujours vraie => boucle infinie
print('\n\n################################################')
print('# #')
print('# Calcul de l\'indice de masse corporelle (IMC) #')
print('# #')
print('################################################\n\n')
weight = float(input('Votre poids (en kg) ? '))
height = float(input('Votre taille (en m) ? '))
imc = weight / ( height * height )
print('\nIMC =', imc)
if imc<=16.5:
interpretation = 'dénutrition ou anoréxie'
elif imc<=18.5:
interpretation = 'maigreur'
elif imc<=25:
interpretation = 'corpulence normale'
elif imc<=30:
interpretation = 'surpoids'
elif imc<=35:
interpretation = 'obésité modérée'
elif imc<=40:
interpretation = 'obésité sévère'
else:
interpretation = 'obésité morbide'
print(interpretation + '\n')
answer = input('Voulez vous continuer [O/N] ?')
if (answer == 'n' or answer == 'N'):
break
print('Au revoir.')
Félicitations, vous avez réalisé vos premiers scripts Python reposant sur une interaction simple (saisie clavier) avec l'utilisateur. Prêt à découvrir les techniques de chargement de fichiers de données ?