Formatowanie ciągu znaków#
Wstęp#
Metoda .format() w Pythonie służy do tworzenia ciągów zawierających zmienne, wyrażenia lub wartości. Ta metoda zastępuje symbole zastępcze w nawiasach klamrowych {} w ciągu wartościami podanymi w .format().
x = 1
y = 5
# Display the variables using .format()
brain.screen.print("Position: ({}, {})".format(x, y))
# Display a calculation using .format()
brain.screen.print("Sum: {}".format(5 + 3))
# Display the robot's battery capacity using .format()
brain.screen.print("Battery: {}%".format(brain.battery.capacity()))
Formatowanie liczb przy użyciu .format — wstawianie wartości i wyrażeń do ciągu.
:.xf— Ustawia liczbę miejsc dziesiętnych do wyświetlenia.round— Zaokrągla liczbę do podanej liczby miejsc dziesiętnych.:,— Dodaje przecinki jako separatory tysięcy.:.x%— Konwertuje liczbę dziesiętną na wartość procentową z x miejscami dziesiętnymi.:#x— Formatuje liczbę do postaci szesnastkowej.:b— Formatuje liczbę jako binarną.
Kolory — Zmień kolor tekstu w konsoli
Colors— Ustaw kolor tekstu konsoli.
Łączenie ciągów — łączenie tekstu i wartości.
.format()— Połącz ciągi znaków i zmienne w jednym wyrażeniu.+ operator— Łączenie ciągów ręcznie z opcjonalną konwersją typu.
Metody String — zmiana wielkości liter tekstu.
upper()— Zamienia wszystkie znaki na wielkie litery.lower()— Zamienia wszystkie znaki na małe litery.
Sprawdzanie podciągów — test obecności i położenia tekstu.
in— Sprawdza, czy słowo istnieje w ciągu.startswith()— Sprawdza, czy ciąg zaczyna się od podanej wartości.endswith()— Sprawdza, czy ciąg kończy się podaną wartością.
Sekwencje wyjścia — formatowanie wyników przy użyciu znaków specjalnych.
Formatowanie liczb z .format#
.format można wykorzystać do kontrolowania sposobu wyświetlania liczb, w tym miejsc dziesiętnych, zaokrąglania i innych stylów formatowania, takich jak:
Fixed Decimal Places#
.xf kontroluje liczbę miejsc dziesiętnych wyświetlaną w danej liczbie.
Usage:
.xf
Parametry |
Opis |
|---|---|
|
Liczba miejsc dziesiętnych do wyświetlenia. |
# Display pi with 2 decimal places
pi = 3.1415926535
brain.screen.print("Pi: {:.2f}".format(pi))
# Output: Pi: 3.14
Rounding Numbers#
round zaokrągla liczbę do określonej liczby miejsc dziesiętnych przed formatowaniem.
Usage:
round(number, x)
Parametry |
Opis |
|---|---|
|
Liczba do zaokrąglenia. |
|
Liczba miejsc dziesiętnych, do których należy zaokrąglić. |
# Display a value rounded to only 2 decimal places
value = 5.6789
brain.screen.print("Rounded: {}".format(round(value, 2)))
# Output: Rounded: 5.68
Thousands Separator#
:, wstawia przecinki jako separatory tysięcy, dzięki czemu duże liczby są bardziej czytelne.
Usage:
:,
Parametry |
Opis |
|---|---|
Ten specyfikator formatu nie ma żadnych parametrów. |
# Display a large number separated with commas
number = 1234567
brain.screen.print("Formatted: ")
brain.screen.next_row()
brain.screen.print("{:,}".format(number))
# Output: Formatted: 1,234,567
Percentage#
:.x% formatuje wartości dziesiętne jako procenty poprzez pomnożenie wartości przez 100 i dodanie znaku procentu.
Usage:
:.x%
Parametry |
Opis |
|---|---|
|
Liczba miejsc dziesiętnych do wyświetlenia. |
# Display a converted decimal to a percentage
value = 0.875
brain.screen.print("Score: {:.1%}".format(value))
# Output: Score: 87.5%
Hexadecimal#
:#x konwertuje liczby na system szesnastkowy.
Usage:
:#x
Parametry |
Opis |
|---|---|
Ten specyfikator formatu nie ma żadnych parametrów. |
# Convert 255 to hexadecimal
number = 255
brain.screen.print("Hex: {:#x}".format(number))
# Output: Hex: 0xff
Binary#
:b konwertuje liczby na system binarny (podstawa 2).
Usage:
:b
Parametry |
Opis |
|---|---|
Ten specyfikator formatu nie ma żadnych parametrów. |
# Convert 3 to binary
brain.screen.print("Binary: {:b}".format(3))
# Output: Binary: 11
Zabarwienie#
Możesz zmienić kolor tekstu, który będzie wyświetlany podczas drukowania w Konsoli drukowania, korzystając z następujących kodów kolorów:
[31m— Red[32m— Green[34m— Blue[30m— Black[37m— White[33m— Yellow[91m— Orange[35m— Purple[36m— Cyan[97m— Transparent
Aby kody kolorów działały, muszą następować po sekwencji wyjścia = \033.
Można użyć tego bezpośrednio w poleceniu print z ciągiem znaków.
# Print VEXcode in Red to the Print Console
print("\033[31mVEXcode")
Można go również używać samodzielnie, aby ustawić wszystkie polecenia drukowania print na ustawiony kolor.
# Set the Print Console text color to Red before printing
print("\033[31m")
print("VEXcode")
Łączenie strun#
Można łączyć (lub konkatenować) ciągi znaków, stosując dwa podejścia:
Using .format#
Wstaw wartości bezpośrednio do ciągu za pomocą {}.
# Display an answer based on the given emotion
emotion = "good"
brain.screen.print("I'm {}, you?".format(emotion))
+ Operator#
Połącz wiele części za pomocą +.
Uwaga: Elementy niebędące ciągami znaków muszą zostać najpierw przekonwertowane na ciągi znaków za pomocą str().
# Display the x and y values
x = 10
y = 20
brain.screen.print("X: " + str(x) + ", Y: " + str(y))
Metody ciągów#
Python udostępnia wbudowane metody modyfikacji i sprawdzania ciągów znaków.
upper#
upper zamienia wszystkie litery w ciągu na wielkie.
Usage:
upper()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
message = "vexcode"
brain.screen.print(message.upper()) # Output: VEXCODE
lower#
lower zamienia wszystkie litery w ciągu na małe.
Usage:
lower()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
message = "VEXCODE"
brain.screen.print(message.lower()) # Output: vexcode
Sprawdzanie podciągów#
in#
in to słowo kluczowe, które zwraca wartość logiczną wskazującą, czy w ciągu występuje podciąg (słowo lub fragment tekstu).
True— Słowo istnieje w ciągu.False— Słowo nie istnieje w ciągu.
message = "Hey everyone!"
if "Hey" in message:
brain.screen.print("Hello!")
startswith#
startswith zwraca wartość logiczną wskazującą, czy ciąg znaków zaczyna się od podanej wartości.
True— Słowo rozpoczyna ciąg.False— Słowo nie rozpoczyna ciągu.
Usage:
startswith(substring)
Parametry |
Opis |
|---|---|
|
Podciąg, który należy sprawdzić na początku ciągu. |
message = "IQ Robot"
if message.startswith("IQ"):
brain.screen.print("IQ first!")
endswith#
endswith zwraca wartość logiczną wskazującą, czy ciąg znaków kończy się podaną wartością.
True— Słowo kończy ciąg.False— Słowo nie kończy ciągu.
Usage:
endswith(substring)
Parametry |
Opis |
|---|---|
|
Podciąg, który należy sprawdzić na końcu ciągu. |
message = "IQ Robot"
if message.endswith("Robot"):
brain.screen.print("Robot last!")
Sekwencje ucieczki#
Sekwencje ucieczki to znaki specjalne używane wewnątrz ciągów znaków do formatowania tekstu wyjściowego. Są one dostępne tylko do użycia z konsolą.
New Line#
\n przenosi tekst do nowego wiersza podczas drukowania.
# Display text on two lines
print("First line\nSecond line")
Tab Spacing#
\t wstawia tabulator pomiędzy wyrazami lub liczbami.
# Display the quantity of blocks
quantity = 2
print("Blocks:\t", quantity)