Formatage de chaînes#

Introduction#

La méthode recommandée pour formater du texte et des nombres en Python est d’utiliser les f-strings. Elles permettent d’intégrer directement des variables, des expressions et des appels de fonction à l’intérieur de {}.

Pour créer une f-string, ajoutez f avant la chaîne et placez toute variable, expression ou appel de fonction à l’intérieur de {}.

x = 1
y = 5

# Display the variables using an f-string
controller.screen.print(f"Position: ({x}, {y})")

# Display a calculation with an f-string
controller.screen.print(f"Sum: {5 + 3}")

# Display the robot's battery capacity with an f-string
controller.screen.print(f"Battery: {controller.get_battery_level()}%")

F-strings – Intégrez des variables et des expressions directement dans le texte.

  • f”{value}” – Affiche les variables, les expressions ou les appels de fonction à l’intérieur d’une chaîne.

Mise en forme des nombres dans les chaînes f – Contrôlez l’apparence des valeurs numériques.

  • :.xf – Définit le nombre de décimales à afficher.

  • round – Arrondit un nombre à un nombre donné de décimales.

  • :, – Ajoute des virgules comme séparateurs de milliers.

  • :.x% – Convertit un nombre décimal en pourcentage avec x décimales.

  • :#x – Formate un nombre en hexadécimal.

  • :b – Formate un nombre en binaire.

Combinaison de chaînes – Combinez du texte et des valeurs.

  • f”{value}” – Combinez des chaînes et des variables dans une seule expression.

  • + operator – Concaténer manuellement des chaînes avec conversion de type optionnelle.

Méthodes de chaînes de caractères – Modifier la casse du texte.

  • upper – Convertit tous les caractères en majuscules.

  • lower – Convertit tous les caractères en minuscules.

Vérifications de sous-chaînes – Testez la présence ou la position d’un texte.

  • in – Vérifie si un mot existe dans une chaîne.

  • startswith – Vérifie si une chaîne commence par une valeur donnée.

  • endswith – Vérifie si une chaîne se termine par une valeur donnée.

Séquences d’échappement – ​​Formatez la sortie avec des caractères spéciaux.

  • \n – Ajoute un saut de ligne (nouvelle ligne).

  • \t – Ajoute un espace de tabulation entre les éléments.

Mise en forme des nombres dans les chaînes f#

Les chaînes f permettent un contrôle précis du nombre de décimales, de l’arrondi, des séparateurs de milliers, et plus encore, grâce aux spécificateurs de format suivants :

Fixed Decimal Places#

.xf contrôle le nombre de décimales affichées pour un nombre.

Usage:
.xf

Paramètres

Description

x

Le nombre de décimales à afficher.

# Display pi with 2 decimal places
pi = 3.1415926535
controller.screen.print(f"Pi: {pi:.2f}")

# Output: Pi: 3.14

Rounding Numbers#

round arrondit les nombres en dehors d’une f-string ou à l’intérieur de {}.

Usage:
round(number, x)

Paramètres

Description

number

Le nombre à arrondir.

x

Le nombre de décimales à arrondir.

# Display a value rounded to only 2 decimal places
value = 5.6789
controller.screen.print(f"{round(value, 2)}")

# Output: 5.68

Thousands Separator#

, grands nombres plus lisibles.

Usage:
,

Paramètres

Description

Ce spécificateur de format ne comporte aucun paramètre.

# Display a large number separated with commas
number = 1234567
controller.screen.print(f"{number:,}")

# Output: 1,234,567

Percentage#

.x% formate les valeurs décimales en pourcentages.

Usage:
.x%

Paramètres

Description

x

Le nombre de décimales à afficher.

# Display a converted decimal to a percentage
value = 0.875

controller.screen.print(f"{value:.1%}")

# Output: 87.5%

Hexadecimal#

.#x convertit les nombres en hexadécimal.

Usage:
.#x

Paramètres

Description

Ce spécificateur de format ne comporte aucun paramètre.

# Convert 255 to hexadecimal
number = 255

controller.screen.print(f"{number:#x}")

# Output: 0xff

Binary#

b convertit les nombres en binaire (base 2).

Usage:
b

Paramètres

Description

Ce spécificateur de format ne comporte aucun paramètre.

# Convert 3 to binary
controller.screen.print(f"Binary: {3:b}")

# Output: Binary: 11

Combinaison de chaînes#

Vous pouvez combiner (ou concaténer) des chaînes de caractères en utilisant deux approches :

Using f-strings#

Avec les f-strings, vous pouvez intégrer des variables directement à l’intérieur de {}.

# Display an answer based on the given emotion
emotion = "good"

controller.screen.print(f"I'm {emotion}, you?")

+ Operator#

Vous pouvez combiner manuellement des chaînes de caractères à l’aide de l’opérateur +.

Remarque : Les valeurs non-chaînes doivent d’abord être converties en chaînes à l’aide de str().

# Display the x and y values
x = 10
y = 20

controller.screen.print("X: " + str(x) + ", Y: " + str(y))

Méthodes de chaînes de caractères#

Python propose des méthodes intégrées pour modifier et vérifier les chaînes de caractères.

upper#

upper convertit toutes les lettres d’une chaîne en majuscules.

Usage:
upper()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# Display a message in uppercase
message = "vexcode"

controller.screen.print(message.upper())

# Output: VEXCODE

lower#

lower convertit toutes les lettres d’une chaîne en minuscules.

Usage:
lower()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# Display a message in lowercase
message = "VEXCODE"

controller.screen.print(message.lower())

# Output: vexcode

Vérification des sous-chaînes#

in#

in est un mot-clé qui renvoie une valeur booléenne indiquant si une sous-chaîne (mot ou fragment de texte) existe dans une chaîne.

  • True – Le mot existe dans la chaîne.

  • False – Le mot n’existe pas dans la chaîne.

# Display a message if "Hey" is in the string
message = "Hey everyone!"

if "Hey" in message:
    controller.screen.print("Hello!")

startswith#

La fonction startswith renvoie une valeur booléenne indiquant si une chaîne de caractères commence par une valeur donnée.

  • True – Le mot commence la chaîne.

  • False – Le mot ne commence pas la chaîne.

Usage:
startswith(substring)

Paramètres

Description

substring

La sous-chaîne à rechercher au début de la chaîne.

# Display a message if the string starts with "AIR"
message = "AIR Drone"

if message.startswith("AIR"):
    controller.screen.print("AIR first!")

endswith#

La fonction endswith renvoie une valeur booléenne indiquant si une chaîne de caractères se termine par une valeur donnée.

  • True – Le mot termine la chaîne.

  • False – Le mot ne termine pas la chaîne.

Usage:
endswith(substring)

Paramètres

Description

substring

La sous-chaîne à rechercher à la fin de la chaîne.

# Display a message if the string ends with "Drone"
message = "AIR Drone"

if message.endswith("Drone"):
    controller.screen.print("Drone last!")

Séquences d’évasion#

Les séquences d’échappement sont des caractères spéciaux utilisés dans les chaînes de caractères pour formater la sortie texte. Elles sont uniquement disponibles pour une utilisation avec la Console.

New Line#

\n déplace le texte à une nouvelle ligne lors de l’impression.

# Display text on two lines
print("First line\nSecond line")

Tab Spacing#

\t insère une tabulation entre les mots ou les chiffres.

# Display the quantity of barrels
quantity = 2
print("IDs:\t", quantity)