3.5. Exercices¶
3.5.1. Addition de deux nombres¶
On souhaite écrire un programme sum.py
qui demande à l’utilisateur de saisir deux nombres, puis les additionne et affiche leur somme dans la console.
Note
La fonction input()
renvoie la saisie de l’utilisateur en tant que str
.
Il faut donc la convertir en int
ou en float
avant de pouvoir l’utiliser pour des opérations mathématiques.
Dans le cas où la saisie n’est pas convertible (par exemple "2x"
qui n’est pas un nombre), le programme affichera un message d’erreur.
Nous considérons pour l’instant que l’utilisateur n’entre que des nombres.
Nous verrons plus loin des manières de palier à ce problème.
Solution
# sum.py
str1 = input("Nombre 1 = ")
str2 = input("Nombre 2 = ")
sum = float(str1) + float(str2)
print(str1 + " + " + str2 + " = " + str(sum))
On crée deux variables str1
et str2
dans lesquelles on enregistre successivement les deux chaînes de caractères entrées par l’utilisateur.
On déclare ensuite une variable sum
dans laquelle on stocke la somme des deux chaînes saisies, converties en float
.
On affiche enfin le résultat en combinant plusieurs valeurs de type str
entre elles.
Bien entendu, il faut pour cela convertir sum
en str
.
$ python sum.py
Nombre 1 = -6.8
Nombre 2 = 44
-6.8 + 44 = 37.2
3.5.2. Années bissextiles¶
Une année est bissextile si elle est multiple de 4 mais pas de 100. Les années divisibles par 400 restent cependant bissextile. Écrivez un programme qui demande à l’utilisateur une année et indique si elle est ou non bissextile.
Solution
year = int(input("Entrez une année : "))
leap = ((year % 4 == 0) and (year % 100 != 0)) or (year % 400 == 0)
if leap:
print(str(year) + " est une année bissextile")
else:
print(str(year) + " n'est pas une année bissextile")
3.5.3. Table de multiplication¶
Écrivez un programme qui demande à l’utilisateur un nombre entier et affiche sa table de multiplication (pour l’intervalle de 1 jusqu’à 10).
Solution
table = int(input("Entrez un nombre entier : "))
i = 1
while i <= 10:
print(str(i) + " * " + str(table) + " = " + str(i * table))
i += 1