Lecture et écriture en console
Écriture
Plusieurs valeurs sur la même ligne:
a: int = 3
b: str = "ABC"
print(a, b) # Affiche: 3 ABC
Par défaut, print sépare chaque élément par un espace et termine par un retour à la ligne (un enter). Vous pouvez changer ce comportement avec des paramètres nommés:
print(a, b, sep=' ', end='\n') # Ne fait rien de différent
print(a, b, sep='') # Ne fait plus d'espace entre les éléments
print(a, b, sep=',') # Ajoute une virgule entre chaque élément
print(a, b, end='') # Ne fait plus de retour à la ligne à la fin
Vous pouvez aussi utiliser une chaîne littérale (string literal) afin de simplifier le print:
print(f'Bonjour {a} et {b}') # Affiche: Bonjour 3 et ABC
Une chaîne littérale (f-string) débute par f, le contenu entre accolades est interprété par Python. Ajoutez : suivi d'un code de formatage pour contrôler l'affichage (voir liste ci-dessous).
PI: float = 3.141592653589793238462643383279502884197
taxes: float = 0.05
print(f'{PI:.2f} et {taxes:.0%}') # Affiche: 3.14 et 5%
Voici les autres caractères de formatage disponibles (liste non exhaustive):
:<8Ajoute des espaces à droite de la valeur jusqu'à ce que le texte prenne 8 "espaces" (on aligne la valeur à gauche):>8Idem, mais aligne la valeur à droite:^8Idem, mais aligne la valeur au centre:*>8Idem à:>8, mais utilise*au lieu d'un espace pour remplir (n'importe quel caractère peut remplacer le*):02dAjoute des0à gauche de la valeur jusqu'à ce que le texte prenne 2 caractères, utile pour un temps (04:57:03au lieu de4:57:3):=8Place le signe négatif à gauche, la valeur à droite, puis ajoute des espaces entre les 2:+Ajoute un symbole+pour les nombres positifs et le-pour les nombres négatifs:-Idem, mais juste pour les négatifs (donc ne sert à rien):(un espace après le:) Idem au:+, mais utilise un espace au lieu du+:,Utilise une virgule comme séparateur de milliers:_Idem, mais avec un souligné:bFormate le nombre en binaire:cAffiche la lettre correspondant au nombre selon le code ASCII:dAffiche le nombre en format décimal, donc ne fait rien:eAffiche le nombre en format scientifique avec une:EIdem mais avecE:.2fNombre de décimales fixes, 2 décimales dans ce cas:.2FIdem, mais infini va êtreINFau lieu deinf:gUtilise la notation scientifique seulement si le nombre est très grand ou très petit, sinon la notation habituelle:GIdem, mais avec unEmajuscule pour la notation scientifique:oAffiche le nombre en format octal:xAffiche le nombre en format hexadécimal:XIdem, mais les lettres sont majuscules:%Affiche le nombre décimal en pourcentage, donc multiplie le nombre par 100 et ajoute le symbole%
Autres façons d'écrire des chaînes:
"Coucou {} et {}".format("Alice", "Bob")
# Coucou Alice et Bob
"{0} dit coucou {0} et {1}".format("Alice", "Bob")
# Alice dit coucou Alice et Bob
"Coucou %s et %s" % ("Alice", "Bob")
# Coucou Alice et Bob
Lecture
Pour prendre des données saisies par l'utilisateur, on utilise la fonction input. On peut poser la question à l'utilisateur directement dans input ou préalablement dans un print.
nom: str
print('Veuillez écrire votre nom:')
nom = input()
# OU
nom = input('Veuillez écrire votre nom: ')
Si vous avez besoin d'un entier, vous pouvez le convertir avec la fonction int:
ageEntree: str
age: int
ageEntree = input('Entrez votre âge: ')
age = int(ageEntree)
# OU
age = int(input('Entrez votre âge: '))
La même chose fonctionne avec float si vous avez besoin d'un nombre décimal:
prix: float = float(input('Entrez le prix: '))
Attention, si l'utilisateur entre autre chose qu'un entier le programme va planter, on va résoudre ce problème plus tard.