Formatação de strings#
Introdução#
O método .format() em Python é utilizado para criar strings que incluem variáveis, expressões ou valores. Este método substitui os marcadores de posição das chaves {} numa string com valores fornecidos dentro de .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()))
Formatação de números com .format — Introduz valores e expressões numa string.
:.xf— Define o número de casas decimais a apresentar.round— Arredondar um número para um determinado número de casas decimais.:,— Adiciona vírgulas como separadores de milhares.:.x%— Converte um decimal numa percentagem com x casas decimais.:#x— Formata um número como hexadecimal.:b— Formata um número como binário.
Cores — Alterar a cor do texto na Consola
Colors— Define a cor do texto da Consola.
Combinar strings — Combinar texto e valores.
.format()— Combina strings e variáveis numa única expressão.+ operator— Concatenar strings manualmente com conversão de tipo opcional.
Métodos de string — Alterar maiúsculas e minúsculas do texto.
upper()— Converte todos os caracteres para maiúsculas.lower()— Converte todos os caracteres para minúsculas.
Verificação de substrings — Teste para verificar a presença ou posição do texto.
in— Verifica se uma palavra existe numa string.startswith()— Verifica se uma string começa com um determinado valor.endswith()— Verifica se uma string termina com um determinado valor.
Sequências de escape — Formatar a saída com caracteres especiais.
Formatação de números com .format#
O parâmetro .format pode ser utilizado para controlar a aparência dos números, incluindo casas decimais, arredondamento e outros estilos de formatação, tais como:
Fixed Decimal Places#
.xf controla quantas casas decimais um número é apresentado.
Usage:
.xf
Parâmetros |
Descrição |
|---|---|
|
A quantidade de casas decimais a apresentar. |
# Display pi with 2 decimal places
pi = 3.1415926535
brain.screen.print("Pi: {:.2f}".format(pi))
# Output: Pi: 3.14
Rounding Numbers#
round arredonda um número para um número específico de casas decimais antes da formatação.
Usage:
round(number, x)
Parâmetros |
Descrição |
|---|---|
|
O número a arredondar. |
|
O número de casas decimais a arredondar. |
# 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#
:, insere vírgulas como separadores de milhares para tornar os números grandes mais legíveis.
Usage:
:,
Parâmetros |
Descrição |
|---|---|
Este especificador de formato não possui parâmetros. |
# 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% formata os valores decimais como percentagens, multiplicando o valor por 100 e adicionando um sinal de percentagem.
Usage:
:.x%
Parâmetros |
Descrição |
|---|---|
|
A quantidade de casas decimais a apresentar. |
# Display a converted decimal to a percentage
value = 0.875
brain.screen.print("Score: {:.1%}".format(value))
# Output: Score: 87.5%
Hexadecimal#
:#x converte números para hexadecimal.
Usage:
:#x
Parâmetros |
Descrição |
|---|---|
Este especificador de formato não possui parâmetros. |
# Convert 255 to hexadecimal
number = 255
brain.screen.print("Hex: {:#x}".format(number))
# Output: Hex: 0xff
Binary#
:b converte números para binário (base 2).
Usage:
:b
Parâmetros |
Descrição |
|---|---|
Este especificador de formato não possui parâmetros. |
# Convert 3 to binary
brain.screen.print("Binary: {:b}".format(3))
# Output: Binary: 11
Cores#
Pode alterar a cor do texto que será impresso na Consola de Impressão utilizando os seguintes códigos de cores:
[31m— Red[32m— Green[34m— Blue[30m— Black[37m— White[33m— Yellow[91m— Orange[35m— Purple[36m— Cyan[97m— Transparent
Todos os códigos de cor necessitam de seguir uma sequência de escape = \033 para funcionar.
Pode utilizar isto directamente num comando print com uma string.
# Print VEXcode in Red to the Print Console
print("\033[31mVEXcode")
Também pode utilizá-lo sozinho para definir todos os comandos print subsequentes para a cor definida.
# Set the Print Console text color to Red before printing
print("\033[31m")
print("VEXcode")
Combinando strings#
Pode combinar (ou concatenar) strings utilizando duas abordagens:
Using .format#
Introduza valores diretamente na string utilizando {}.
# Display an answer based on the given emotion
emotion = "good"
brain.screen.print("I'm {}, you?".format(emotion))
+ Operator#
Una várias partes utilizando +.
Nota: Os valores que não sejam strings devem ser primeiro convertidos em strings utilizando str().
# Display the x and y values
x = 10
y = 20
brain.screen.print("X: " + str(x) + ", Y: " + str(y))
Métodos de string#
O Python fornece métodos integrados para modificar e verificar strings.
upper#
upper converte todas as letras de uma string para maiúsculas.
Usage:
upper()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
message = "vexcode"
brain.screen.print(message.upper()) # Output: VEXCODE
lower#
lower converte todas as letras de uma string para minúsculas.
Usage:
lower()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
message = "VEXCODE"
brain.screen.print(message.lower()) # Output: vexcode
Verificação de substrings#
in#
in é uma palavra-chave que devolve um valor booleano indicando se existe uma substring (palavra ou excerto de texto) numa string.
True— A palavra existe na string.False— A palavra não existe na sequência.
message = "Hey everyone!"
if "Hey" in message:
brain.screen.print("Hello!")
startswith#
A função startswith devolve um valor booleano indicando se uma string começa com um determinado valor.
True— A palavra inicia a sequência.False— A palavra não inicia a sequência.
Usage:
startswith(substring)
Parâmetros |
Descrição |
|---|---|
|
A subcadeia de caracteres a verificar no início da cadeia. |
message = "IQ Robot"
if message.startswith("IQ"):
brain.screen.print("IQ first!")
endswith#
A função endswith devolve um valor booleano indicando se uma string termina com um determinado valor.
True— A palavra termina a sequência.False— A palavra não termina a sequência.
Usage:
endswith(substring)
Parâmetros |
Descrição |
|---|---|
|
A substring a verificar no final da string. |
message = "IQ Robot"
if message.endswith("Robot"):
brain.screen.print("Robot last!")
Sequências de Escape#
As sequências de escape são caracteres especiais utilizados dentro de strings para formatar a saída de texto. Estão apenas disponíveis para utilização com o Console.
New Line#
\n move o texto para uma nova linha ao imprimir.
# Display text on two lines
print("First line\nSecond line")
Tab Spacing#
\t insere um espaço de tabulação entre palavras ou números.
# Display the quantity of blocks
quantity = 2
print("Blocks:\t", quantity)