Aula 06 - Strings

Jacques Wainer

2020

Strings

Strings são uma tipo de lista imutável

a = "qwerty"
b = 'quer  776 \nty'
c = ""
d = ''

in

>>> a = "zip"
>>> b = "abacaxi"
>>> a<b
False
>>> b<a 
True

Strings: operações, funções e métodos

Subsequencias (splice)

>>> z = 'ouviram do ipiranga margens'
>>> z[3]  
'i'
>>> z[3:7]
'iram'

string[a:b] - o substring que comeca no indice a e vai até b-1 (como no range!!)

significa z[0:7]

signfica z[7:len(z)]

isso funciona para qualquer lista tambem voltaremos a falar disso em outra aula.

Formatação - construindo strings usando o valor de variáveis

Normalmente usado com o print

Metodo usando str e +

    saldo = 37.67853
    nome = "José"
    
    print("O nome do aluno é " + nome + " e o saldo  é " + str(saldo))
    
    saida = "O nome do aluno é " + nome + " e o saldo  é " + str(saldo)
    print(saida)
    

Formataçao velha (modulo)

Cria um string com especificações de como imprimir partes faltantes cujos valores virao numa tupla depois do %

    saida = "O nome do aluno é %s e o saldo é %.2f " % (nome, saldo)
    saida

https://realpython.com/python-modulo-string-formatting/

f-strings

Usa um string de contole começado com f antes do string

   saida = f"O nome do aluno é {nome}, o saldo é {saldo:.2f} e a idade é {idade}"
   saida
   

https://realpython.com/python-f-strings/

https://docs.python.org/3/tutorial/inputoutput.html

Mais informação sobre strings

a pagina da documentação do Python sobre strings https://docs.python.org/3/library/stdtypes.html#textseq

Exemplo

escreva uma funcao que recebe um string no formato: nome; endereco; CPF; salario onde salario é um numero, e retorna um string com nome, novo-salario onde o novo salario reflete um aumento de 8% no salario velho

def calcular_novo_salario(info):
    # Dividindo a string pelos ponto e vírgula
    partes = info.split("; ")
    
    # Obtendo o nome e o salário da lista de partes
    nome = partes[0]
    salario_antigo = float(partes[3])  # Convertendo o salário para float
    
    # Calculando o novo salário com aumento de 8%
    novo_salario = salario_antigo * 1.08
    
    # Retornando o nome e o novo salário formatados como string
    return f"{nome}, {novo_salario:.2f}"