Zeichenkettenformatierung#

Einführung#

Die empfohlene Methode zur Formatierung von Text und Zahlen in Python ist die Verwendung von f-Strings. Diese ermöglichen es, Variablen, Ausdrücke und Funktionsaufrufe direkt in {} einzubetten.

Um eine f-Zeichenkette zu erstellen, fügen Sie f vor der Zeichenkette ein und platzieren Sie jede Variable, jeden Ausdruck oder jeden Funktionsaufruf innerhalb von {}.

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 – Variablen und Ausdrücke direkt in den Text einbetten.

  • f”{value}” – Zeigt Variablen, Ausdrücke oder Funktionsaufrufe innerhalb einer Zeichenkette an.

Formatierung von Zahlen in f-Strings – Steuerung der Darstellung numerischer Werte.

  • :.xf – Legt die Anzahl der anzuzeigenden Dezimalstellen fest.

  • round – Rundet eine Zahl auf eine vorgegebene Anzahl von Dezimalstellen.

  • :, – Fügt Kommas als Tausendertrennzeichen hinzu.

  • :.x% – Wandelt eine Dezimalzahl in einen Prozentsatz mit x Dezimalstellen um.

  • :#x – Formatiert eine Zahl als Hexadezimalzahl.

  • :b – Formatiert eine Zahl als Binärzahl.

Zeichenkettenkombination – Text und Werte kombinieren.

  • f”{value}” – Kombiniert Zeichenketten und Variablen in einem einzigen Ausdruck.

  • + operator – Strings manuell verketten, optional mit Typkonvertierung.

String-Methoden – Groß-/Kleinschreibung von Text ändern.

  • upper – Wandelt alle Zeichen in Großbuchstaben um.

  • lower – Wandelt alle Zeichen in Kleinbuchstaben um.

Teilstringprüfung – Test auf Vorhandensein oder Position von Text.

  • in – Prüft, ob ein Wort in einer Zeichenkette existiert.

  • startswith – Prüft, ob eine Zeichenkette mit einem gegebenen Wert beginnt.

  • endswith – Prüft, ob eine Zeichenkette mit einem gegebenen Wert endet.

Escape-Sequenzen – Ausgabe mit Sonderzeichen formatieren.

  • \n – Fügt einen Zeilenumbruch (neue Zeile) ein.

  • \t – Fügt einen Tabulatorabstand zwischen Elementen ein.

Zahlen in f-Strings formatieren#

f-Strings ermöglichen die präzise Steuerung von Dezimalstellen, Rundungen, Tausendertrennzeichen und mehr durch die Verwendung der folgenden Formatbezeichner:

Fixed Decimal Places#

.xf steuert, mit wie vielen Dezimalstellen eine Zahl angezeigt wird.

Usage:
.xf

Parameter

Beschreibung

x

Die Anzahl der anzuzeigenden Dezimalstellen.

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

# Output: Pi: 3.14

Rounding Numbers#

round rundet Zahlen außerhalb einer f-Saite oder innerhalb der {}.

Usage:
round(number, x)

Parameter

Beschreibung

number

Die zu rundende Zahl.

x

Die Anzahl der Dezimalstellen, auf die gerundet werden soll.

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

# Output: 5.68

Thousands Separator#

, fügt Kommas als Tausendertrennzeichen ein, um große Zahlen besser lesbar zu machen.

Usage:
,

Parameter

Beschreibung

Dieser Formatbezeichner hat keine Parameter.

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

# Output: 1,234,567

Percentage#

.x% formatiert Dezimalwerte als Prozentsätze.

Usage:
.x%

Parameter

Beschreibung

x

Die Anzahl der anzuzeigenden Dezimalstellen.

# Display a converted decimal to a percentage
value = 0.875

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

# Output: 87.5%

Hexadecimal#

.#x wandelt Zahlen in Hexadezimalzahlen um.

Usage:
.#x

Parameter

Beschreibung

Dieser Formatbezeichner hat keine Parameter.

# Convert 255 to hexadecimal
number = 255

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

# Output: 0xff

Binary#

b wandelt Zahlen in Binärzahlen (Basis 2) um.

Usage:
b

Parameter

Beschreibung

Dieser Formatbezeichner hat keine Parameter.

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

# Output: Binary: 11

Kombination von Zeichenketten#

Sie können Zeichenketten auf zwei Arten kombinieren (oder verketten):

Using f-strings#

Mit f-Strings können Sie Variablen direkt in {} einbetten.

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

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

+ Operator#

Sie können Zeichenketten manuell mit dem Operator + kombinieren.

Hinweis: Nicht-Zeichenketten müssen zuerst mit str()

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

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

String-Methoden#

Python bietet integrierte Methoden zum Modifizieren und Überprüfen von Zeichenketten.

upper#

upper wandelt alle Buchstaben in einer Zeichenkette in Großbuchstaben um.

Usage:
upper()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

# Display a message in uppercase
message = "vexcode"

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

# Output: VEXCODE

lower#

lower wandelt alle Buchstaben in einer Zeichenkette in Kleinbuchstaben um.

Usage:
lower()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

# Display a message in lowercase
message = "VEXCODE"

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

# Output: vexcode

Prüfung auf Teilzeichenketten#

in#

in ist ein Schlüsselwort, das einen booleschen Wert zurückgibt, der angibt, ob eine Teilzeichenkette (ein Wort oder ein Textabschnitt) in einer Zeichenkette vorhanden ist.

  • True – Das Wort ist in der Zeichenkette enthalten.

  • False – Das Wort existiert nicht in der Zeichenkette.

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

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

startswith#

startswith gibt einen booleschen Wert zurück, der angibt, ob eine Zeichenkette mit einem bestimmten Wert beginnt.

  • True – Das Wort beginnt die Zeichenkette.

  • False – Das Wort steht nicht am Anfang der Zeichenkette.

Usage:
startswith(substring)

Parameter

Beschreibung

substring

Die zu überprüfende Teilzeichenkette am Anfang der Zeichenkette.

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

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

endswith#

endswith gibt einen booleschen Wert zurück, der angibt, ob eine Zeichenkette mit einem bestimmten Wert endet.

  • True – Das Wort beendet die Zeichenkette.

  • False – Das Wort beendet nicht die Zeichenkette.

Usage:
endswith(substring)

Parameter

Beschreibung

substring

Die zu überprüfende Teilzeichenkette am Ende der Zeichenkette.

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

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

Fluchtsequenzen#

Escape-Sequenzen sind spezielle Zeichen, die innerhalb von Zeichenketten verwendet werden, um die Textausgabe zu formatieren. Sie sind nur für die Verwendung mit der Konsole verfügbar.

New Line#

\n verschiebt den Text beim Drucken in eine neue Zeile.

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

Tab Spacing#

\t fügt ein Tabulatorzeichen zwischen Wörtern oder Zahlen ein.

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