Merkkijonojen muotoilu#

Johdanto#

Suositeltu tapa muotoilla tekstiä ja numeroita Pythonissa on käyttää f-merkkijonoja. Ne mahdollistavat muuttujien, lausekkeiden ja funktiokutsujen upottamisen suoraan merkkijonon {} sisään.

Luodaksesi f-merkkijonon, lisää f merkkijonon eteen ja sijoita mikä tahansa muuttuja, lauseke tai funktiokutsu merkkijonon {} sisään.

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-merkkijonot – Upota muuttujia ja lausekkeita suoraan tekstiin.

  • f”{value}” – Näyttää merkkijonon sisällä olevia muuttujia, lausekkeita tai funktiokutsuja.

F-merkkijonojen numeroiden muotoilu – Hallitse numeeristen arvojen ulkoasua.

  • :.xf – Asettaa näytettävien desimaalien määrän.

  • round – Pyöristää luvun annettuun desimaalien määrään.

  • :, – Lisää pilkut tuhaterottimina.

  • :.x% – Muuntaa desimaaliluvun prosenttiluvuksi, jossa on x desimaalia.

  • :#x – Muotoilee luvun heksadesimaaliluvuksi.

  • :b – Muotoilee luvun binääriluvuksi.

Merkkijonoyhdistelmä – Yhdistä teksti ja arvot.

  • f”{value}” – Yhdistä merkkijonot ja muuttujat yhteen lausekkeeseen.

  • + operaattori – Yhdistä merkkijonot manuaalisesti valinnaisella tyyppimuunnoksella.

Merkkijonometodit – Muuta tekstin kirjainkokoa.

  • upper – Muuntaa kaikki merkit isoksi kirjaimiksi.

  • lower – Muuntaa kaikki merkit pieniksi kirjaimiksi.

Alamerkkijonojen tarkistukset – Tarkistaa tekstin olemassaolon tai sijainnin.

  • in – Tarkistaa, onko merkkijonossa sana.

  • startswith – Tarkistaa, alkaako merkkijono annetulla arvolla.

  • endswith – Tarkistaa, päättyykö merkkijono annettuun arvoon.

Escape-sekvenssit – Muotoile tuloste erikoismerkeillä.

  • \n – Lisää rivinvaihdon (uusi rivi).

  • \t – Lisää sarkainvälin kohteiden väliin.

Numeroiden muotoilu f-merkkijonoissa#

f-merkkijonot mahdollistavat desimaalien, pyöristämisen, tuhaterotinten ja muiden ominaisuuksien tarkan hallinnan käyttämällä seuraavia muotoilumäärittelijöitä:

Fixed Decimal Places#

.xf määrittää, kuinka monella desimaalipisteellä luku näytetään.

Usage:
.xf

Parametrit

Kuvaus

x

Näytettävien desimaalien määrä.

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

# Output: Pi: 3.14

Rounding Numbers#

round pyöristää numerot f-merkkijonon ulkopuolella tai {} sisällä.

Usage:
round(number, x)

Parametrit

Kuvaus

number

Pyöristettävä luku.

x

Desimaalien määrä, joihin pyöristetään.

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

# Output: 5.68

Thousands Separator#

, lisää pilkut tuhaterottimina, jotta suuret luvut olisivat helpommin luettavia.

Usage:
,

Parametrit

Kuvaus

Tällä muotomäärittimellä ei ole parametreja.

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

# Output: 1,234,567

Percentage#

.x% muotoilee desimaaliluvut prosentteina.

Usage:
.x%

Parametrit

Kuvaus

x

Näytettävien desimaalien määrä.

# Display a converted decimal to a percentage
value = 0.875

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

# Output: 87.5%

Hexadecimal#

.#x muuntaa luvut heksadesimaalimuotoon.

Usage:
.#x

Parametrit

Kuvaus

Tällä muotomäärittimellä ei ole parametreja.

# Convert 255 to hexadecimal
number = 255

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

# Output: 0xff

Binary#

b muuntaa luvut binääriluvuiksi (kantaluku 2).

Usage:
b

Parametrit

Kuvaus

Tällä muotomäärittimellä ei ole parametreja.

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

# Output: Binary: 11

Merkkijonojen yhdistäminen#

Voit yhdistää (tai ketjuttaa) merkkijonoja kahdella tavalla:

Using f-strings#

f-merkkijonojen avulla voit upottaa muuttujia suoraan merkkijonojen {} sisään.

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

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

+ Operator#

Voit yhdistää merkkijonoja manuaalisesti käyttämällä operaattoria +.

Huomautus: Muut kuin merkkijonot täytyy ensin muuntaa merkkijonoiksi käyttämällä funktiota str().

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

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

Merkkijonomenetelmät#

Python tarjoaa sisäänrakennettuja metodeja merkkijonojen muokkaamiseen ja tarkistamiseen.

upper#

upper muuntaa kaikki merkkijonon kirjaimet isoiksi kirjaimiksi.

Usage:
upper()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

# Display a message in uppercase
message = "vexcode"

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

# Output: VEXCODE

lower#

lower muuntaa kaikki merkkijonon kirjaimet pieniksi kirjaimiksi.

Usage:
lower()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

# Display a message in lowercase
message = "VEXCODE"

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

# Output: vexcode

Alimerkkijonojen tarkistus#

in#

in on avainsana, joka palauttaa totuusarvon, joka ilmaisee, onko merkkijonossa alimerkkijono (sana tai tekstipätkä).

  • True – Sana on merkkijonossa.

  • False – Sanaa ei ole merkkijonossa.

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

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

startswith#

startswith palauttaa totuusarvon, joka ilmaisee, alkaako merkkijono annetulla arvolla.

  • True – Sana aloittaa merkkijonon.

  • False – Sana ei aloita merkkijonoa.

Usage:
startswith(substring)

Parametrit

Kuvaus

substring

Merkkijonon alusta tarkistettava osamerkkijono.

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

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

endswith#

endswith palauttaa totuusarvon, joka ilmaisee, päättyykö merkkijono annettuun arvoon.

  • True – Sana lopettaa merkkijonon.

  • False – Sana ei päätä merkkijonoa.

Usage:
endswith(substring)

Parametrit

Kuvaus

substring

Merkkijonon lopusta tarkistettava osamerkkijono.

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

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

Escape-sekvenssit#

Escape-merkit ovat merkkijonojen sisällä käytettäviä erikoismerkkejä tekstitulosteen muotoiluun. Ne ovat käytettävissä vain Console -komennon kanssa.

New Line#

\n siirtää tekstin uudelle riville tulostettaessa.

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

Tab Spacing#

\t lisää sarkainvälin sanojen tai numeroiden väliin.

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