Opa, tudo bem?? Hoje vou tentar te explicar sobre strings no Python :D
Eu tenho um repositório no GitHub que você pode baixar o código e ver ele funcionando ;)
https://github.com/joaocosta956/Estudos/blob/main/Strings.py
Todas Strings em Python são iteráveis, ou seja, todas letras são endereçadas o que nos permite acessar por índice. Cada letra possui um número.
Podemos selecionar o inicio e o fim dos indices e também podemos selecionar de quantos em quantos queremos, por exemplo de 2 em 2.
Code:
print(string_um[9:19:1])
Output:
você está
i = Inicio
f = Fim
p = Passos (Por padrão vem 1)
Mas lembre-se, a letra do índice 9, não vai aparecer, é a partir dele.
E caso não informe o index final, irá a partir do 9 até o último índice.
Code:
print(string_um[9::2])
Output:
oêet?
É possível omitir/ignorar o inicio, o fim e os passos.
Caso ignore o índice do inicio, vai começar do índice 0, que é o início, caso omita o índice final, ele ira até o ultimo índice, caso omita os passos, ele por padrão seguira com 1, ou seja, de 1 em 1
Se você colocar um número negativo a string é iterada ao contrário
Não é necessário informar os números neste caso, veja:
Code:
print(string_um[::-1])
Output:
?átse êcov omoc ,álO
Agora vamos ver um palíndromo
A palindromia é um conceito linguístico e matemático que se refere a uma sequência de caracteres, seja uma palavra, frase ou número, que pode ser lida da mesma maneira da esquerda para a direita e da direita para a esquerda. Em outras palavras, é um padrão simétrico em que os caracteres são dispostos de forma que formam a mesma sequência quando lidos de trás para frente. Alguns exemplos de palíndromos em português incluem "radar", "asa", "reter" e "anilina". Palíndromos podem ser uma curiosidade interessante na linguagem e na matemática.
Code:
palindromo = 'socorram me subi no onibus em marrocos'
print(palindromo[::-1])
Output:
socorram me subino on ibus em marrocos
Aqui veremos um loop while, poderia ser com for também.
Onde a função "len()" retorna o número de letras/indices. Então enquanto "len_string_um" for menor que i (que começa no 0 e é incrementado no loop while)
Code:
len_string_um = len(string_um)
i = 0
print(10'-','Por loop While',10'-')
while i < len_string_um:
print(f'Indice: {i}')
print(string_um[i])
i += 1
Output:
Indice: 0
O
Indice: 1
l
Indice: 2
á
Indice: 3
,
Indice: 4
Indice: 5
c
Indice: 6
o
Indice: 7
m
Indice: 8
o
Indice: 9
Indice: 10
v
Indice: 11
o
Indice: 12
c
Indice: 13
ê
Indice: 14
Indice: 15
e
Indice: 16
s
Indice: 17
t
Indice: 18
á
Indice: 19
?
OBS: Tive que apagar os espaços para não atrapalhar na estética. Mas os espaçoes existem e tem valor.
Então... talvez seja um pouco complicado de entender, mas vou tentar explicar.
Eu defini a variável "i" como 0, antes do loop, ou seja, só vai ser somado dentro do loop, afinal se você definir "i" dentro do loop, ele sempre será 0, e nunca saíra desta posição, o que irá gerar um loop infinito.
A partir do momento que entra no loop é feita a verificação se "i" é maior que o número de letras, se não for é mostrado a letra e o índice (é difícil entender por texto, então é melhor rodar o código)
Quando em strings, o operador "+", de soma, se torna de concatenação, ou seja, irá juntar as letras/palavras (não dá pra concatenar strings com inteiros).
Code:
palavra = 'Oi'
print(palavra+', como você está?')
Output:
Oi, como você está?
ATENÇÃO!!
Não estou entrando no mérito em ser eficiente, é apenas didático isso, pra ficar mais claro ;)
No código abaixo, manualmente coloquei os indices para mostrar que, caso os indices colocados não existam, irá levantar uma exceção/erro e o código irá quebrar.
Por isso, não utilizem iterações de strings de maneira manual, não é uma boa prática.
Code:
print(string_um[0])
print(string_um[1])
print(string_um[2])
print(string_um[3])
print(string_um[4])
print(string_um[5])
print(string_um[6])
print(string_um[7])
print(string_um[8])
print(string_um[9])
print(string_um[10])
print(string_um[11])
print(string_um[12])
print(string_um[13])
print(string_um[14])
print(string_um[15])
print(string_um[16])
print(string_um[17])
print(string_um[18])
print(string_um[19])
Vai até aqui, apartir daqui gera um Erro IndexError: string index out of range
Ou seja o index da palavra está fora do "range", da "pool".
print(string_um[20])
Output:
O
l
á
,
c
o
m
o
v
o
c
ê
e
s
t
á
?
Traceback (most recent call last):
File "c:\Users\joaov\Estudos\Strings.py", line 76, in
print(string_um[20])
IndexError: string index out of range
Perceba que até os espaços são contatos. (na imagem)
Muito obrigado por ler até aqui :D 🥰🥰🥰.
Caso veja algum erro, alguma sugestão, alguma critica, deixei um comentário ;D
Lembrando que não sou desenvolvedor Pleno em Python, então sou passível a errar, por isso, não me julguem :(
Abraços!!!
Obrigado por promover a Língua Portuguesa em suas postagens.
Vamos seguir fortalecendo a comunidade lusófona dentro da Hive.
Congratulations @joaocosta738! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)
Your next target is to reach 100 upvotes.
You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP