2. Comentários #, ‘’’ ‘’’,””” “””
Simbolos para os comentários
print(123) # comentario
#pode-se fazer comentarios com 3 aspas no inicio e no fim
“ “ “ docstring
pode ser feito assim 3 aspas duplas
“ “ “
‘ ‘ ‘ tambem se pode usar para comentar
usando 3 aspas simples ’ ‘ ‘
print(456)
10. Variáveis
Variáveis –são usadas para guardarem valores em memória
nome_completo = 'Jorge Costa Martins'
soma_dois_mais_dois= 2 + 2
print(nome_completo, soma_dois_mais_dois)
Resultado: Jorge Costa Martins 4
11. Faça o exercício e veja o resultado
nome = "Jorge“
idade = 55
maior_de_idade = idade >= 18
print("Nome:", nome,"Idade:",idade)
print('É maior de idade?',maior_de_idade)
12. Elabore o exercício e veja o resultado
Defina as variaveis para a resolução do exercício
print('Nome:', nome)
print('Sobrenome:', sobrenome)
print('Idade:', idade)
print('Ano de nascimento:', ano_nascimento)
print('É maior de idade:', maior_de_idade)
print ('Altura:', altura)
18. Exercício: Calcule o seu IMC
nome = "Jorge Martins"
peso = 101
altura = 1.90
imc= peso / altura ** 2 #... IMC = peso / (altura * altura)
print(nome, 'tem', altura, 'altura,n', 'pesa', peso,'Kgs','e o seu IMC é n',imc)
Resultado
Jorge Martins tem 1.9 altura
pesa 101 Kgs e o seu IMC é
27.977839335180057
19. Formatação de caracteres
nome = "Jorge Martins"
peso = 101
altura = 1.90
imc = peso / altura ** 2 #... IMC = peso /
(altura * altura)
print(nome, 'tem', altura, 'altura')
print('pesa', peso,'Kgs','e o seu IMC é',)
print(imc)
print ("Com formatação de strings (F-Strings)")
linha_1 = f'{nome} tem {altura:.2f} altura'
linha_2 = f'pesa {peso:.2f} Kgs e o seu IMC é'
linha_3 = f'{imc:.2f}’
print(linha_1)
print(linha_2)
print(linha_3)
20. Instrução Input
A instrução INPUT serve para carregar valores numa variavel
Exemplo:
nome = input (‘Qual o seu nome? ‘)
print (f’O seu neome é {nome}’)
Nota: O python interpreta todos os carregamentos de valores para uma variável
como uma string
22. Resolução:
valor1 = input(‘Introduza o valor 1: ‘)
valor2 = input(‘Introduza o valor 2: ‘)
valor1_int = int(valor1)
valor2_int = int(valor2)
total = valor1_int + valor_2
Print (‘a soma dos dois valores é ‘,total)
23. Exercício
Escreva um programa para calcular a redução do tempo de
vida de um fumador. Pergunte a quantidade de cigarros
fumados por dia e quantos anos ele já fumou. Considere que
um fumador perde 10 minutos de vida a cada cigarro,
calcule quantos dias de vida um fumador perderá. Mostre o
total em dias.
24. Resolução:
cigarros_por_dia = int(input("Quantidade de cigarros por dia:"))
anos_fumador = float(input("Quantidade de anos fumador:"))
redução_em_minutos = anos_fumador * 365 * cigarros_por_dia * 10
# Um dia tem 24 x 60 minutos
redução_em_dias = redução_em_minutos / (24 * 60)
print(f’Redução do tempo de vida {redução_em_dias:.3f}’)
25. Estrutura IF / IF ELSE / IF ELIF ELSE
Exercício
Escreva um programa para aprovar o empréstimo bancário para compra
de uma casa. O programa deve perguntar o valor da casa a comprar, o
salário e a quantidade de anos a pagar. O valor da prestação mensal não
pode ser superior a 30% do salário. Calcule o valor da prestação como
sendo o valor da casa a comprar dividido pelo número de meses a pagar.
26. Resolução:
valor = float(input("Digite o valor da casa: "))
salário = float(input("Digite o salário: "))
anos = int(input("Quantos anos para pagar: "))
meses = anos * 12
prestacao = valor / meses
if prestacao > salário * 0.3:
print("Infelizmente você não pode obter o empréstimo")
else:
print(f"Valor da prestação: € {prestacao:,.2f} Empréstimo OK")
30. Resolução:
primeiro_valor = input('Introduza o primero valor: ')
segundo_valor = input('Introduza o segundo valor: ')
if primeiro_valor > segundo_valor:
print (f'O primeiro valor {primeiro_valor} é maior que o segundo
valor{segundo_valor}')
elif segundo_valor > primeiro_valor:
print (f'O segundo valor {segundo_valor} é maior que o primeiro valor
{primeiro_valor}')
else:
print ('São iguais')
31. Operador AND
escolha = input('[E]ntrar ou [S]air: ')
senha = input('Introduza a senha: ')
senha_val='1234'
if escolha =='E' and senha ==senha_val:
print('Entrou no Sistema')
elif escolha == 'S':
print ('Saiu do Sistema')
elif (escolha != 'E' or escolha !='S') and senha==senha_val:
print ('Errou na Escolha!!')
elif (escolha == 'E' or escolha == 'S') and senha!=senha_val:
print ('Errou na senha')
32. Exemplo1
entrada = input(‘ [E]ntrar [S]air: ‘)
senha_digitada = input(‘Senha: ‘)
senha_permitida = ‘123456’
if ( entrada == ‘E’ or entrada ==’e’) and senha_digitada
==senha_permitida:
print(‘Entrar’)
else:
print (‘Sair’)
Operador OR
36. Exercício 1
Mostrar o conteudo de uma posição da string:
Nome = ‘Jorge’
Print (nome[2]) resultado O
Print(nome[-4]) resultado O
Operador IN e NOT IN
37. Exercício 2
Ver se está uma letra ou conjunto de letras estão na string?
Print (‘rg’ in nome)
Resultado: TRUE
39. nome= input(‘Digite o seu nome: ‘)
encontrar=input(‘Digite o que deseja encontrar? ‘)
If encontrar in nome:
Print(f’{encontrar} está em {nome})
Else:
Print (f’{encontrar} não está em {nome})
41. Exercício: Mostrar só uma variavel
nome = 'Jorge'
preco = 1243.534
variavel = '%s o preço é €1243.534' %nome
print (variavel)
Nota: Atenção ao simbolo a à variável
%s PORQUE É UMA STRING
Interpolação de Strings
42. Exercício: Mostrar duas variáveis
nome = 'Jorge'
preco = 1243.534
variavel = '%s o preço é €%.2f' %(nome, preco)
print (variavel)
Resultado: Jorge o preço é €1243.53
Interpolação de Strings
43. print ('O hexadecimal de %d é %x' % (15 , 15))
Resultado: O hexadecimal de 15 é f
Nota: se o x for maiusculo o f será maiusculo
Interpolação de Strings
44. Mostra com preenchimento de 4 ou 8 casas com valor zero
print ('O hexadecimal de %d é %08X' % (1500 , 1500))
Resultado: O hexadecimal de 1500 é 000005DC
Interpolação de Strings
45. Formatação básica de STRINGS
Simbolos para formatação
d - int
f - float
.<numero de digitos>f
x ou X - Hexadecimal
(Caractere)(><^)(quantidade)
> - Esquerda espaços ou preenchimento
< - Direita
^ - Centro
Sinal + ou -
46. variavel = 'ABC'
print (f'{variavel}’)
Preencher com 10 caractreres de espaços a esquerda
print (f'{variavel: >10}’)
Preencher com 10 caractreres de espaços a direita
print (f'{variavel: <10}’)
Preencher com 10 caractreres de espaços mas centra a str
print (f'{variavel: ^10}’)
Formatação básica de STRINGS
47. Pode-se preencher com qq caracter
print (f'{variavel:*^10}’)
Casas decimais
print (f'{1000.526536337257:.2f}’)
Só apresenta o sinal positivo se o numero for positivo
print (f'{-1000.526536337257:+.2f}')
Formatação básica de STRINGS
48. Fatiamento de Strings
variavel = 'Olá Mundo'
print(variavel[3]) Apresenta a letra á
Fatiamento da strting
[i:f:p] i - início f - fim p - passo
print (variavel[4:7]) Apresenta do índice 4 até ao índice 6
Resultado: _Mu
print (variavel[4:]) Apresenta até ao fim (omitir o fim)
Resultado: _Mundo
49. print (variavel[:5]) Apresenta até 4(omitir o inicio)
Resultado: Olá_
print(len(variavel)) Apresenta a quantidade de caractereres
Resultado: 9
print(variavel[0:9:2]) Apresenta a str de 2 em 2
Resultado: OáMno
print(variavel[::-1]) Apresenta invertida a str
Resultado: odnuM álO
print(variavel[-1:-10:-1]) Apresenta invertida a str
Resultado: odnuM álO
Fatiamento de Strings
50. Exercício
Exercicio:
Digite o seu nome e a sua idade.
Se o nome e idade forem digitados
Exiba:
O meu nome é {nome}
O neome invertido é {nome invertido}
O nome contém ou não espaços
O neome tem {n} letras
A primeira letra do nome é {letra}
A última letra do nome é {letra}
se nada for digitado em nome ou idade:
Exiba "Desculpe, madeixou campos vazios."
51. nome = input('Escreva o seu nome: ')
idade = input ('Escreva a sua idade: ')
if nome and idade:
print (f'O meu nome é {nome}')
print ('O meu nome é ', nome[::-1])
print (f'O meu nome é {nome[::-1]}')
if ' ' in nome:
print ('O nome contém espaços')
else:
print('O nome NÃO contém espaços')
print (f'O nome tem {len(nome)} letras')
print(f'A primeira letra do nome é {nome[0]}')
print(f'A última letra do nome é {nome[-1]}')
else:
print('Desculpe, mas deixou campos vazios.')
Resolução
53. numero_str=input ('introduza um valor : ‘)
print(numero_str.isdigit()) #VÊ se foi digitado um valor
numero_float = float(numero_str)
print(f'O dobro de {numero_str} é {numero_float * 2:.2f}')
TRY / EXCEPT
54. numero_str=input ('introduza um valor : ')
if (numero_str.isdigit()):
numero_float = float(numero_str)
print(f'O dobro de {numero_str} é {numero_float * 2:.2f}')
else:
print('Isso não é um numero')
TRY / EXCEPT
55. numero_str=input ('introduza um valor : ')
try:
print('STR: ',numero_str)
numero_float = float(numero_str)
print('FLOAT: ', numero_float)
print(f'O dobro de {numero_str} é {numero_float * 2:.2f}')
except:
print('Isso não é um numero')
56. Exercício 1
Faça um programa que peça ao usuário para digitar um número inteiro,
informe se este número é par ou ímpar. Caso o usuário não digite um número
inteiro, informe que não é um número inteiro.
57. Faça um programa que pergunte a hora ao usuário e, baseando-se no horário
descrito, exiba a saudação apropriada. Ex.
Bom dia 0-11, Boa tarde 12-17 e Boa noite 18-23.
Exercício 2
58. Exercício 3:
Faça um programa que peça o primeiro nome do usuário.
Se o nome tiver 4 letras ou menos
escreva "Seu nome é curto";
se tiver entre 5 e 6 letras,
escreva "Seu nome é normal";
maior que 6
escreva "Seu nome é muito grande".
Exercício 3
59. Resolução Exercício 1
entrada = input('Digite um número: ')
if entrada.isdigit():
entrada_int = int(entrada)
par_impar = entrada_int % 2 == 0
par_impar_texto = 'ímpar'
if par_impar:
par_impar_texto = 'par'
print(f'O número {entrada_int} é {par_impar_texto}')
else:
print('Você não digitou um número inteiro')
60. Resolução Exercício 1
entrada = input('Digite um número: ')
try:
entrada_int = float(entrada)
par_impar = entrada_int % 2 == 0
par_impar_texto = 'ímpar'
if par_impar:
par_impar_texto = 'par'
print(f'O número {entrada_int} é {par_impar_texto}')
except:
print('Você não digitou um número inteiro')
61. Resolução Exercício 2
entrada = input('Digite a hora em números inteiros: ')
try:
hora = int(entrada)
if hora >= 0 and hora <= 11:
print('Bom dia')
elif hora >= 12 and hora <= 17:
print('Bom tarde')
elif hora >= 18 and hora <= 23:
print('Bom noite')
else:
print('Não conheço essa hora')
except:
print('Por favor, digite apenas números inteiros')
62. Resolução Exercício 3
nome = input('Digite seu nome: ')
tamanho_nome = len(nome)
if tamanho_nome > 1:
if tamanho_nome <= 4:
print('Seu nome é curto')
elif tamanho_nome >= 5 and tamanho_nome <= 6:
print('Seu nome é normal')
else:
print('Seu nome é muito grande')
else:
print('Digite mais de uma letra.')
64. While
While Estrutura de repetição com condição, isto é, repete
um conjunto de instruções até a condição for
falsa.
Exemplo: condicao=True
While condicao:
Instrução
Atenção:Isto gera um ciclo infinito
66. Outra forma de paragem da estrutura
Exemplo:
While condicao:
print(‘ABC’)
if condicao
break
Exemplo:
Condicao = True
While condicao:
nome=input(‘Introduza o nome: ‘)
print(f‘O seu nome é {nome}’)
if nome == ‘sair’
break
Print(‘ACABOU’)
Break
67. Controlar o ciclo com uma variavel
contador = 0
while contador <= 10:
contador = contador + 1
print(contador)
print('Acabou')
Break
68. Continue
(Salta)
Exemplo: Não mostra o valor 6
contador = 0
while contador <= 20:
contador += 1
if contador == 6:
print('Não vou mostrar o 6.')
continue
print(contador)
print('Acabou')
69. Exemplo: Não mostra o valor entre 0 10 e 0 27
contador = 0
while contador <= 40:
contador += 1
if contador >= 10 and contador <= 27:
print('Não vou mostrar o', contador)
continue
print(contador)
print('Acabou')
Continue
(Salta)
70. Exemplo: Não mostra o valor 6, entre o 10 e o 27 e termina no 40
contador = 0
while contador <= 100:
contador += 1
if contador == 6:
print('Não vou mostrar o 6.')
continue
if contador >= 10 and contador <= 27:
print('Não vou mostrar o', contador)
continue
print(contador)
if contador == 40:
break
print('Acabou')
Continue
(Salta)
71. While aninhado - Exemplo
qtd_linhas = 5
qtd_colunas = 5
linha = 1
while linha <= qtd_linhas:
coluna = 1
while coluna <= qtd_colunas:
print(f'{linha=} {coluna=}')
coluna += 1
linha += 1
print('Acabou')
72. Exercício 1
Crie uma string com o seu nome e reescreva essa string novamente mas com um *
entre cada letra.
Exemplo:
Nome = ‘Jorge’
Novo_nome = ‘*J*o*r*g*e*’
74. Exercício 2
Elabore um programa para efetuar as 4 operações validando
todos os dados de entrada!
75. Resolução Parte I
""" Calculadora com while """
while True:
print('nummmmm')
#########
sair = input('Quer sair? [s]im: ')
sair_mn = sair.lower() #transforma a string em minusculas
print(sair_mn)
sair_f = sair_mn.startswith('s’) #vê se começa por um s
print(sair_f)
if sair_f is True:
break
76. Parte 1 - Simplificada
""" Calculadora com while """
while True:
print('nummmmm')
#########
sair = input('Quer sair? [s]im: ').lower().startswith('s')
if sair is True:
break
77. Parte II
""" Calculadora com while """
while True:
numero_1 = input('Digite um número: ')
numero_2 = input('Digite outro número: ')
operador = input('Digite o operador (+-/*): ')
numeros_validos = None
try:
num_1_float = float(numero_1)
num_2_float = float(numero_2)
numeros_validos = True
except:
numeros_validos = None
if numeros_validos is None:
print('Um ou ambos os números digitados são inválidos.')
continue
operadores_permitidos = '+-/*'
if operador not in operadores_permitidos:
print('Operador inválido.')
continue
if len(operador) > 1:
print('Digite apenas um operador.')
continue
###
sair = input('Quer sair? [s]im: ').lower().startswith('s')
if sair is True:
break
78. Parte III
while True:
numero_1 = input('Digite um número: ')
numero_2 = input('Digite outro número: ')
operador = input('Digite o operador (+-/*): ')
numeros_validos = None
num_1_float = 0
num_2_float = 0
try:
num_1_float = float(numero_1)
num_2_float = float(numero_2)
numeros_validos = True
except:
numeros_validos = None
if numeros_validos is None:
print('Um ou ambos os números digitados são
inválidos.')
continue
operadores_permitidos = '+-/*'
if operador not in operadores_permitidos:
print('Operador inválido.')
continue
if len(operador) > 1:
print('Digite apenas um operador.')
continue
if operador =='+':
print(f'{num_1_float} + {num_2_float} = ', num_1_float + num_2_float)
elif operador =='-':
print(f'{num_1_float} - {num_2_float} = ', num_1_float - num_2_float)
elif operador =='/':
print(f'{num_1_float} / {num_2_float} = ', num_1_float / num_2_float)
elif operador =='*':
print(f'{num_1_float} * {num_2_float} = ', num_1_float * num_2_float)
sair = input('Quer sair? [s]im: ').lower().startswith('s')
if sair is True:
break
80. Resolução do Desafio
frase = ‘A Programação está a ficar
complicada'
i = 0
qtd_apareceu_mais_vezes = 0
letra_apareceu_mais_vezes = ''
while i < len(frase):
letra_atual = frase[i]
if letra_atual == ' ':
i += 1
continue
if qtd_apareceu_mais_vezes <
qtd_apareceu_mais_vezes_atual:
qtd_apareceu_mais_vezes =
qtd_apareceu_mais_vezes_atual
letra_apareceu_mais_vezes = letra_atual
i += 1
print(
'A letra que apareceu mais vezes foi '
f'"{letra_apareceu_mais_vezes}" que apareceu '
f'{qtd_apareceu_mais_vezes}x'
81. FOR IN
Sintaxe:
For variavel in lista de valores:
Instrução 1
Instrução 2
.
.
Instrução N
resto do programa
1 – O corpo do ciclo está indentado
2 – Enquanto não percorremos todos os valores:
2.1 – a variável toma o próximo valor na lista
2.2 – executa o corpo do ciclo.
3 – Depois do último valor:
a execução continua no resto programa
83. Range (start, stop, step)
Exemplo:
Numero = range(10) numeros de zero até 10
Numero = range(5,10) começa em 5 e termina no 9
Numero = range(1,10,2) começa em 1 termina no 9 de dois em dois
FOR IN RANGE
84. FOR IN RANGE
Nota no ciclo for não vai buscar o indice mas sim o valor
Exemplo
Numero = range(10)
For valor in numero:
Print(valor)
Resultado: 0,1,2,3,4,5,6,7,8,9
86. Exercício
Escreva um programa que leia duas strings e gere uma terceira com os
caracteres comuns às duas strings lidas.
1ª string: AAACTBF
2ª string: CBT
Resultado: CBT A ordem dos caracteres da string gerada não é
importante, mas deve conter todas as letras comuns a ambas.
87. Lista é considerada uma matriz ou um array.
Lista pode ter vários typos de dados.
Pode inserir visualizar alterar apagar – (CRUD)
Deve-se inserir e apagar os itens do fim
Listas
88. Listas
Sintaxe:
Nomes = [‘Ana’, ‘António’, ‘Chico’, ‘Joana’] Lista de nomes
Comando:
Print(nomes) Aparecem os nomes todos da lista
Vazia = [] Lista vazia
Comando
Print(vazia) Aparece os parentises retos
Comando
Print (nomes, type(nomes) Aparecem os nomes todos e o tipo da variavel LIST
89. L
ista = [123, true, ‘Rui Marcolino’, 1.2, [] ]
Comando
Print(lista) Aparece a lista [123, true, ‘Rui Marcolino’, 1.2]
Listas
90. Acesso a um item da Lista
lista = [123, true, ‘Rui Marcolino’, 1.2]
Comando para ter acesso a um item
Print(lista[2]) Mostra o que está na posição 2: Rui Marcolino
Para ver o tipo de variavel
Print(lista[2], type(lista[2]) Rui Marcolino <class ‘str’>
Usar um método para colocar o nome em Maiusculas
Print(lista[2].upper(), type(lista[2]) RUI MARCOLINO <class ‘str’>
91. Alterar um item da Lista
lista = [123, true, ‘Rui Marcolino’, 1.2, [] ]
Lista[2]= ‘Jorge Costa’
A lista fica
lista = [123, true, ‘Jorge Costa’, 1.2, [] ]
92. Listas
lista1 = [10, 20, 30 ,40]
Pode-se ler da listaum valor e atribuir a uma variavel
Numero = lista1[2]
Print (numero)
93. Alterar, Apagar
lista1 = [10, 20, 30 ,40]
Alterar um valor da lista
lista1[2] = 300 altera o valor da posição 2
Resultado: lista1 = [10, 20, 300 ,40]
Apaga um valor da lista
Del(lista1[2]) apaga o valor que foi ultimamente alterado o numero 300
Resultado:lista1 = [10, 20 ,40] reordena toda a lista alterando também o índice
94. Adiciona valores no final da lista
Append
Usar o método APPEND
Lista1 = [10, 20, 30, 40]
Executar o método
lista1.append(50)
lista1.append(60)
lista1.append(70)
Print (lista1)
Resultado: [10, 20, 30, 40, 50, 60, 70]
96. Método CLEAR
lista1=[10, 20, 30, 40, 50]
Se fizer o seguinte
ultimo_valor=lista1.pop(2)
Print(lista1)
Resultado: [10, 20, 40, 50]
97. Clear - Limpa a lista
Comando:
lista1.clear() Limpa a lista
98. INSERT
Insere um valor num determinado indice
lista1=[10, 20, 30, 40, 50]
Comando:
lista1.insert(0, 5) coloca o valor 5 na posição 0
(valor 0 é a posição e o valor 5 é o valor colocado)
print (lista1) [5, 10, 20, 30, 40, 50]
Nota: Pode inserir qualquer tipode valor na lista
99. Concatenar Listas
com o sinal +
lista_a = [1, 2, 3]
lista_b = [4, 5, 6]
Se fizer
lista_c = lista_a + lista b
Print(lista_c)
Resultado: [1, 2, 3, 4, 5, 6]
100. lista_a = [1, 2, 3]
lista_b = [4, 5, 6]
Se fizer
lista_d = lista_a.extend(lista b)
Print(lista_d)
Resultado: None executou um método que não retorna nada
Nota: Apenas vai acrescentar os valores à lista_a
Concatenar Listas
com método extend
102. For In em Listas
Lista = [‘Maria’, ‘Manuel’, ‘Otavio’]
For nome in lista:
print (nome)
103. Exercício
Exiba os índices da lista?
Lista = [‘Maria’, ‘Manuel’, ‘Otavio’]
indices=range(len(lista))
For indice in indices:
print (indice, lista[indice])
Resultado:
0 Maria
1 Manuel
2 Otavio
104. Introduza mais um nome na list e mostre novamente a lista.
Lista = [‘Maria’, ‘Manuel’, ‘Otavio’]
Lista.append(‘João’)
indices=range(len(lista))
For indice in indices:
print (indice, lista[indice])
106. Outra forma
nome1, nome2, nome3 = [‘Ana’, ‘Maria’, ‘Helena’]
Print(nome2)
Resultado : Helena
Nota: distrbui cada nome para sua variavel automaticamente
107. Se quiser só utilizar os dois primeiros valores
nome1, nome2 = = [‘Ana’, ‘Maria’, ‘Helena’]
Print(nome2)
Se executar
Nota: Exibe um erro. Tenho mais valores do que variáveis
108. nome1, nome2 ,nome3, nome4 = [‘Ana’, ‘Maria’, ‘Helena’]
Print(nome2)
Se executar
Nota: Exibe um erro. Tenho menos valores do que variáveis
109. Para mostra só o primeiro valor tenho de criar uma variavel
para empacotar o resto dos valores
nome1, *resto = [‘Ana’, ‘Maria’, ‘Helena’]
Print(nome1)
Mostra só primero valor e o resto fica numa nova lista
110. nome1, *resto = [‘Ana’, ‘Maria’, ‘Helena’]
Print(nome1, resto)
Se executar o resultado é
Ana [‘Maria’, ‘Helena’]
111. Se criar uma variavel que não vai ser urilizada podemos
utilizar o “ _ “ underline
Nome1, *_ = [‘Ana’, ‘Maria’, ‘Helena’]
Print(nome1,_)
Resultado:
Ana [‘Maria’, ‘Helena’]
112. Outra forma
nome1, *_ = [‘Ana’, ‘Maria’, ‘Helena’]
Print(nome1)
Resultado:
Ana [‘Maria’, ‘Helena’]
113. Para exibir o segundo valor poderá executar o seguinte
_, nome, _ = [‘Ana’, ‘Maria’, ‘Helena’]
Print(nome,_)
Resultado:
Maria
114. A lista pode conter métodos que a p+odem alterar.
Exemplo:
nomes= [‘Ana’, ‘Maria’, ‘Helena’]
nomes[1] = ‘outro’
_, _, nome, *resto = nomes
Print(nomes)
[‘outro’, ‘Maria’, ‘Helena’]
Print(nome)
Helena
115. Tuplo
Tuplo é uma lista de valores imutaveis ou seja não altera valores
Exemplo
nomes = ‘Ana’, ‘Maria’, ‘Helena’ ou nomes = (‘Ana’, ‘Maria’, ‘Helena’)
nomes[1] = ‘outro
Print(nomes)
Vai dar um erro.
Tuplo é um objeto que não suporta alterações
116. Se quiser aceder ao primeiro valor faz a seguinte instrução
print(nomes[1])
Resultado : Ana
Sequiser aceder ao último
Print(nomes[-1])
Resultado : Helena
117. Conversão de LISTA para TUPLO
e vice-versa
nomes = [‘Ana’, ‘Maria’, ‘Helena’]
nomes = tuple(nomes)
Print(nomes)
Resultado: (‘Ana’, ‘Maria’, ‘Helena’)
nomes = [‘Ana’, ‘Maria’, ‘Helena’]
nomes = list(nomes)
Print(nomes)
Resultado: [‘Ana’, ‘Maria’, ‘Helena’]
118. Enumerate
Criar uma lista numerada
Lista = [‘Ana’, ‘Maria’, ‘Helena’]
Lista.append(‘João’)
Lista_numerada = enumerate(Lista)
Print(Lista_enumerada)
Resultado : <enumerate object at 0x1009fb900>
119. Se acrescentarmos no print
Print(next(Lista_enumerada))
Assim mostra só o 1º valor da lista
Resultado: (0, ‘Ana’)
120. Para mostrar todos podemos utilizar o ciclo FOR
Lista = [‘Ana’, ‘Maria’, ‘Helena’]
Lista.append(‘João’)
lista_numerada = enumerate(Lista)
For item in lista_enumerada:
print(item)
Resultado: (0, ‘Ana’)
(1, ‘Maria’)
(2, ‘Helena’)
(3, ‘João’)
121. Se fizer dois ciclos FOR seguidos intervalados por um print o segundo FOR fica sem o
enumerate
Lista = [‘Ana’, ‘Maria’, ‘Helena’]
Lista.append(‘João’)
lista_numerada = enumerate(Lista)
For item in lista_enumerada:
print(item)
Print(‘ o que tem a lista numerada: ‘, lista_numerada) o print quebra o enumerate
For item in lista_enumerada
print(item)
122. Resultado: : (0, ‘Ana’)
(1, ‘Maria’)
(2, ‘Helena’)
(3, ‘João’)
O que tem a lista numerada: <enumerate object at 0x1030a7900>
123. Para que não aconteça esse problema coloca-se o enumerate no
ciclo FOR
lista = [‘Ana’, ‘Maria’, ‘Helena’]
lista.append(‘João’)
For item in enumerate(lista):
print(item)
124. Outra forma é transforma para uma nova lista
lista = [‘Ana’, ‘Maria’, ‘Helena’]
lista.append(‘João’)
lista_numerada = list(enumerate(lista))
print(lista_numerada)
Resultado: [(0, ‘Ana’), (1, ‘Maria’), (2, ‘Helena’), (3, ‘João’)]
125. Se fizer um star = 20
A lista numerada vai começar no 20 e por diante
lista_numerada = list(enumerate(lista, start=20))
Resultado: [(20, ‘Ana’), (21, ‘Maria’), (22, ‘Helena’), (23, ‘João’)]
126. Outra forma para mostrar os dados:
lista = [‘Ana’, ‘Maria’, ‘Helena’]
lista.append(‘João’)
For item in enumerate(lista):
indice, nome = item
print(indice, nome)
Resultado:
0 Ana
1 Maria
2 Helena
3 João
127. Se colocar a variavel indice e nome no FOR vai fazer o mesmo
lista = [‘Ana’, ‘Maria’, ‘Helena’]
lista.append(‘João’)
For indice, nome in enumerate(lista):
print(indice, nome)
É como se fossem dois ciclos FOR
Resultado:
0 Ana
1 Maria
2 Helena
3 João
128. lista = [‘Ana’, ‘Maria’, ‘Helena’]
lista.append(‘João’)
For tuplo_numerado in enumerate(lista):
for valor in tuplo_numerado:
print(valor)
Tranforma em tuplos numerados:
(0, ‘Ana’)
(1, ‘Maria’)
(2, ‘Helena’)
(3, ‘João’)
Vai ser passado para a variavel valor cada tuplo
129. Exercício
Faça uma lista de compras com listas.
O utilizador deve ter a possibilidade de inserir, apagar e
listar os valores da lista.
Não permita que o programa deixe de funcionar com erros
de indices inexistentes na lista.
130. import os
lista = []
while True:
print('Selecione uma opção')
opcao = input('[i]nserir [a]pagar
[l]istar: ')
if opcao == 'i':
os.system('clear')
valor = input('Valor: ')
lista.append(valor)
elif opcao == 'a':
indice_str = input(
'Escolha o índice para apagar: '
)
try:
indice = int(indice_str)
del lista[indice]
except ValueError:
print('Por favor digite número int.')
except IndexError:
print('Índice não existe na lista')
except Exception:
print('Erro desconhecido')
Resolução
131. elif opcao == 'l':
os.system('clear')
if len(lista) == 0:
print('Nada para listar')
for i, valor in enumerate(lista):
print(i, valor)
else:
print('Por favor, escolha i, a ou l.')
Resolução
132. Split, Join e Strip - Métodos
Método Split divide uma string em determinado caracter
frase= ‘O Francisco, é um excelente programador em Python’
Lista_palavras= frase.split()
Print (Lista_palavras)
Rsedultado:[‘O’, ‘Francisco,’,´’é’, ‘um’, ‘excelente’, ‘programador’, ‘em’,
‘python’]
133. Pode-se dividir por um caracter.
Exemplo separar pela virgula:
Lista_palavras=frase.split(‘,’)
Print(Lista_palavra)
Resultado: :[‘O Francisco’,’ é um excelente programador em python’]
134. Método STRIP - Cortar espaços da string
frase= ‘O Francisco, é um excelente programador em Python’
Lista_palavras=frase.split(‘,’)
For i,frase in enumerate(lista_palavras):
Print(Lista_palavra[i].strip())
Print (Lista_palavra)
Lstrip corta os espaços à esquerda
Rstrip corta os espaços à direita
137. Como aceder ao indice 1?
Comando:
Print(salas[1])
Resultado:
[‘João’, ‘Joana’, ‘Leonardo’,]
138. Aceder ao valor do indice?
Comando:
Print(salas[1] [0])
Resultado:
João
139. Obter valores com o ciclo FOR
salas = [
[‘Maria’, ‘José’,],
[‘João’, ‘Joana’, ‘Leonardo’,],
[‘Luis’, ‘Eduarda’, ‘Rodrigo’,], ]
# print(salas[1][0])
# print(salas[0][1])
# print(salas[2][2])
# print(salas[2][3][3])
for sala in salas:
print(f'A sala é {sala}')
for aluno in sala:
print(aluno)
140. Dicionários
{ } ou dict
Dicionário é um tipo de estrutura de dados utilizando um par, chave e dado
Chave é um como um índice na lista
Dado é qualquer valor
142. Visualizar o conteúdo do dicionário
Exemplo1:
livros = {1:'Lusiadas', 2:'Os Maias', 3:'O Magico', 4:'A vida num sopro'}
for chave in livros:
print (chave,livros[chave])
Exemplo2:
livros = {1:'Lusiadas', 2:'Os Maias', 3:'O Magico', 4:'A vida num sopro'}
for chave,nome in livros.items():
print(chave, nome)
144. Métodos
LEN
livros = {1:'Lusiadas', 2:'Os Maias', 3:'O Magico', 4:'A vida num sopro'}
print(livros.__len__())
Resultado: 4 Retorna a quantidades de chaves do dicionário
Ou
print(len(livros))
145. KEYS
livros = {1:'Lusiadas', 2:'Os Maias', 3:'O Magico', 4:'A vida num sopro'}
print(livros.keys())
Resultado: dict_keys([1, 2, 3, 4])
Utilizando o ciclo FOR
for chave in livros.keys():
print (chave)
Resultado: 1,2,3,4
146. VALUES
livros = {1:'Lusiadas', 2:'Os Maias', 3:'O Magico', 4:'A vida num sopro'}
print(livros.values())
Resultado: dict_values(['Lusiadas', ‘Os Maias', 'O Magico', 'A vida num sopro’])
Ou utilizando o ciclo FOR
for valor in livros.values():
print (valor)
Resultado: Lusiadas, Os Maias, O Magico, A vida num sopro
147. ITEMS
livros = {1:'Lusiadas', 2:'Os Maias', 3:'O Magico', 4:'A vida num sopro’}
print(list(livros.items()))
Resultado:
[(1, 'Lusiadas'), (2, 'Os Maias'), (3, 'O Magico'), (4, 'A vida num sopro')]
148. livros = {1:'Lusiadas', 2:'Os Maias', 3:'O Magico', 4:'A vida num sopro’}
print((livros.items()))
Resultado:
dict_items([(1, 'Lusiadas'), (2, 'Os Maias'), (3, 'O Magico'), (4, 'A vida num sopro’)])
Ou
for chave,nome in livros.items():
print(chave, nome)
Resultado:
[(1, 'Lusiadas'), (2, 'Os Maias'), (3, 'O Magico'), (4, 'A vida num sopro')]
152. GET
Obtém o valor da chave:
d1 = {'nome': 'Jorge', 'sobren': 'Martins'}
print (d1.get('nome’))
Resultado: Jorge
Ou
print(d1['nome’])
Resultado: Jorge
153. Caso não existe a chave nome o resultado é ‘não existe’
d1 = {#'nome': 'Jorge',
'sobren': 'Martins'}
print (d1.get('nome',' não existe'))
154. POP
Apaga uma chave e seu valor do dicionário
d1 = {'nome': 'Jorge',
'sobren': 'Martins'}
nome = d1.pop('nome')
print (d1)
Resultado:{'sobren': 'Martins’}
Mas o valor fica na nova variável nome
print(nome)
Resultado: Jorge