Aller au contenu

Saisir et afficher des données

print() écrit une représentation textuelle de données / d'objets reçus. Par défaut, elle utilise la sortie standard, sépare les valeurs par un espace et termine par un saut de ligne.

print("Python", "C#")                 # Python C#
print("Python", "C#", sep=" ; ")      # Python ; C#
print("Chargement", end="...")
print(" terminé")                     # Chargement... terminé

Autres paramètres : - file : définit le flux de destination, par exemple un fichier ouvert en écriture. Par défaut, il s’agit de la sortie standard (sys.stdout). - flush : lorsqu’il vaut True, demande le vidage immédiat du tampon du flux de destination.

Equivalent en C#

Console.WriteLine("Python C#");
Console.WriteLine(string.Join(" ; ", new[] { "Python", "C#" }));
Console.Write("Chargement...");
Console.WriteLine(" terminé");

Console.WriteLine() ajoute un saut de ligne ; Console.Write() n’en ajoute pas. Pour écrire dans un autre flux, nous utilisons un TextWriter.

input() : lire une saisie

input() affiche éventuellement un message, puis lit une ligne et elle retourne une chaîne de caractères :

name = input("Votre nom : ")
age = int(input("Votre âge : "))
print(f"{name} a {age} ans.")

La conversion avec int() peut lever une exception de type ValueError si le texte n'est pas un entier.

Equivalent en C#

Console.Write("Votre nom : ");
string name = Console.ReadLine();

Console.Write("Votre âge : ");
string text = Console.ReadLine();

if (int.TryParse(text, out int age))
    Console.WriteLine($"{name} a {age} ans.");

La méthode TryParse permet de traiter une conversion invalide sans lever d'exception.