Formátování řetězců#

Zavedení#

Metoda .format() v Pythonu se používá k vytváření řetězců, které obsahují proměnné, výrazy nebo hodnoty. Tato metoda nahrazuje zástupné symboly složených závorek {} v řetězci hodnotami uvedenými uvnitř .format().

x = 1
y = 5

# Display the variables using .format()
brain.print("Position: ({}, {})".format(x, y))

# Display a calculation using .format()
brain.print("Sum: {}".format(5 + 3))

wait(1, SECONDS)
# Display the time using .format()
brain.print("Time: {}".format(brain.timer_time(SECONDS)))

Formátování čísel pomocí .format – Vkládání hodnot a výrazů do řetězce.

  • :.xf – Nastaví počet zobrazených desetinných míst.

  • round – Zaokrouhlí číslo na zadaný počet desetinných míst.

  • :, – Přidá čárky jako oddělovače tisíců.

  • :.x% – Převede desetinné číslo na procento s x desetinnými místy.

  • :#x – Formátuje číslo jako hexadecimální.

  • :b – Formátuje číslo jako binární.

Kombinování řetězců – Kombinování textu a hodnot.

  • .format() – Sloučí řetězce a proměnné do jednoho výrazu.

  • + operator – Ruční zřetězení řetězců s volitelnou konverzí typů.

Řetězcové metody – Změna velikosti písmen textu.

  • upper() – Převede všechny znaky na velká písmena.

  • lower() – Převede všechny znaky na malá písmena.

Kontrola podřetězců – Test přítomnosti nebo pozice textu.

  • in – Zkontroluje, zda v řetězci existuje slovo.

  • startswith() – Zkontroluje, zda řetězec začíná danou hodnotou.

  • endswith() – Zkontroluje, zda řetězec končí zadanou hodnotou.

Escape sekvence – Formátování výstupu pomocí speciálních znaků.

  • \n – Přidá zalomení řádku (nový řádek).

  • \t – Přidá tabulátor mezi položky.

Formátování čísel s .format#

Příkaz .format lze použít k ovládání zobrazení čísel, včetně desetinných míst, zaokrouhlování a dalších stylů formátování, jako například:

Fixed Decimal Places#

.xf určuje, s kolika desetinnými místy se číslo zobrazuje.

Usage:
:.xf

Parametry

Popis

x

Počet zobrazených desetinných míst.

# Display pi with 2 decimal places
pi = 3.1415926535
brain.print("Pi: {:.2f}".format(pi))
# Output: Pi: 3.14

Rounding Numbers#

round zaokrouhlí číslo na zadaný počet desetinných míst před formátováním.

Usage:
round(number, x)

Parametry

Popis

number

Číslo, které se má zaokrouhlit.

x

Počet desetinných míst, na které se má zaokrouhlit.

# Display a value rounded to only 2 decimal places
value = 5.6789
brain.print("Rounded: {}".format(round(value, 2)))
# Output: Rounded: 5.68

Thousands Separator#

:, vkládá čárky jako oddělovače tisíců, aby se velká čísla lépe četla.

Usage:
:,

Parametry

Popis

Tento specifikátor formátu nemá žádné parametry.

# Display a large number separated with commas
number = 1234567
brain.print("Formatted: ")
brain.print("{:,}".format(number))
# Output: Formatted: 1,234,567

Percentage#

:.x% formátuje desetinná čísla jako procenta vynásobením hodnoty číslem 100 a přidáním znaménka procenta.

Usage:
:.x%

Parametry

Popis

x

Počet zobrazených desetinných míst.

# Display a converted decimal to a percentage
value = 0.875
brain.print("Score: {:.1%}".format(value))
# Output: Score: 87.5%

Hexadecimal#

:#x převádí čísla do hexadecimálního formátu.

Usage:
:#x

Parametry

Popis

Tento specifikátor formátu nemá žádné parametry.

# Convert 255 to hexadecimal
number = 255
brain.print("Hex: {:#x}".format(number))
# Output: Hex: 0xff

Binary#

:b převádí čísla do binární soustavy (základ 2).

Usage:
:b

Parametry

Popis

Tento specifikátor formátu nemá žádné parametry.

# Convert 3 to binary
brain.print("Binary: {:b}".format(3))
# Output: Binary: 11

Kombinování řetězců#

Řetězce můžete kombinovat (nebo zřetězit) dvěma způsoby:

Using .format#

Vložte hodnoty přímo do řetězce pomocí {}.

# Display an answer based on the given emotion
emotion = "good"
brain.print("I'm {}, you?".format(emotion))

+ Operator#

Spojte více částí pomocí +.

Poznámka: Údaje, které nejsou řetězce, je nutné nejprve převést na řetězce pomocí funkce str().

# Display the x and y values
x = 10
y = 20
brain.print("X: " + str(x) + ", Y: " + str(y))

Řetězcové metody#

Python nabízí vestavěné metody pro úpravu a kontrolu řetězců.

upper#

upper převede všechna písmena v řetězci na velká písmena.

Usage:
upper()

Parametry

Popis

Tato metoda nemá žádné parametry.

# Capitalize a string with .upper()
message = "vexcode"
brain.print(message.upper())  # Output: VEXCODE

lower#

lower převede všechna písmena v řetězci na malá písmena.

Usage:
lower()

Parametry

Popis

Tato metoda nemá žádné parametry.

# Make a string lowercase with .lower()
message = "VEXCODE"
brain.print(message.lower())  # Output: vexcode

Kontrola podřetězců#

in#

in je klíčové slovo, které vrací booleovskou hodnotu označující, zda v řetězci existuje podřetězec (slovo nebo část textu).

  • True – Slovo v řetězci existuje.

  • False – Slovo v řetězci neexistuje.

message = "Hey everyone!"
if "Hey" in message:
    brain.print("Hello!")

startswith#

startswith vrací booleovskou hodnotu, která označuje, zda řetězec začíná danou hodnotou.

  • True – Slovo začíná řetězec.

  • False – Slovo nezačíná řetězec.

Usage:
startswith(substring)

Parametry

Popis

substring

Podřetězec, který se má zkontrolovat na začátku řetězce.

# Check for 'CTE' at the start of a string
message = "CTE Robot"

if message.startswith("CTE"):
    brain.print("CTE first!")

endswith#

endswith vrací booleovskou hodnotu, která indikuje, zda řetězec končí danou hodnotou.

  • True – Slovo ukončuje řetězec.

  • False – Slovo nekončí řetězec.

Usage:
endswith(substring)

Parametry

Popis

substring

Podřetězec, který se má na konci řetězce kontrolovat.

# Check for `Robot` at the end of a string
message = "CTE Robot"

if message.endswith("Robot"):
    brain.print("Robot last!")

Únikové sekvence#

Escape sekvence jsou speciální znaky používané uvnitř řetězců k formátování textového výstupu.

New Line#

\n přesune text na nový řádek při tisku.

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

Tab Spacing#

\t vloží tabulátor mezi slova nebo čísla.

# Display the quantity of disks
quantity = 2
brain.print("Disks:\t", quantity)