On cherche à lire deux mots sur la même ligne, un nom de pays et un nom de ville, puis afficher un petit texte. En utilisant le code input().split(" ")
que vous avez déjà vu on obtient le programme suivant :
mots = input().split(" ") pays = mots[0] ville = mots[1] print("Vous habitez à {} ({})".format(ville, pays))
France Paris
Vous habitez à Paris (France)
Ce code fonctionne très bien, mais il est possible de l'écrire de manière plus courte et plus agréable à lire :
pays, ville = input().split(" ") print("Vous habitez à {} ({})".format(ville, pays))
Ainsi, au lieu de créer un tableau mots
contenant deux éléments, on affecte directement la valeur de input().split(" ")
aux deux variables pays
et ville
.
De manière similaire, si on chercher à lire deux entiers sur la même ligne on peut utiliser input().split(' ')
puis qu'on convertir chaque élément lu en un entier.
Par exemple :
mots = input().split(" ") longueur = int(mots[0]) largeur = int(mots[1]) print(longueur * largeur)
5 10
50
Il est possible de faire plus court, sans devoir convertir les mots un par un en entiers !
longueur, largeur = map(int, input().split(" ")) print(longueur * largeur)
5 10
50
La fonction map()
va appeler la fonction int()
(son premier argument) sur chacun des élements du tableau donné comme second argument, et va retourner le tableau
contenant tous les entiers. On affecte alors les deux éléments de ce tableau aux variables longueur
et largeur
.