Exercícios
Nesta secção podes encontrar exercícios para aplicares os conceitos abordados ao longo do site. Para alguns deles é dada uma ou mais propostas de resolução. Os exercícios com * são de dificuldade acrescida.
Strings, listas e métodos, ciclos
Ex. 13. Cria um programa peça ao utilizador uma lista e que mostre ao utilizador a lista que foi introduzida.
Proposta de resolução:
#Mostra ao utilizador o formato que uma lista deve ter
print('Uma lista tem o seguinte formato: ["item1", "item2", "item3", ...].')
# Pedir ao utilizador para introduzir uma lista guardá-la na variável lista
lista = input("Insira uma lista: ")
# Mostrar a lista introduzida pelo utilizador
print(f"A lista introduzida foi: {lista}.")
Ex. 14. Cria um programa que mostre o primeiro e último elementos da lista baixo:
lista_de_cores = ["Azul", "Verde", "Laranja", "Preto"]
Proposta de resolução:
# Define a lista a ser usada guardando-a na variável lista_de_cores
lista_de_cores = ["Azul", "Verde", "Laranja", "Preto"]
# Mostra o primeiro elemento da lista
print("\nPrimeiro elemento da lista: ", lista_de_cores[0])
# Variável auxiliar para obter o comprimento da lista de forma a imprimir o seu último elemento
ultimo_elemento = len(lista_de_cores)
# Mostra o último elemento da lista
print("\nÚltimo elemento da lista: ", lista_de_cores[ultimo_elemento - 1])
Nota: Como a função "len(lista)" devolve o número de elementos de uma lista, para imprimir o último elemento dessa lista é necessário retirar "-1" ao comprimento da lista.
-----------------------------------------------------------------------------------------------------------------
Outra proposta de resolução:
Não é necessário recorrer a uma nova variável para se aceder ao último elemento da lista tornando, assim, o código mais eficiente.
# Define a lista a ser usada guardando-a na variável lista_de_cores
lista_de_cores = ["Azul", "Verde", "Laranja", "Preto"]
# Mostra o primeiro elemento da lista
print("\nPrimeiro elemento da lista: ", lista_de_cores[0])
# Mostra o último elemento da lista
print("\nÚltimo elemento da lista: ", lista_de_cores[len(lista_de_cores) - 1])
Ex. 15. Cria um programa peça ao utilizador para introduzir uma frase com mais de 15 caracteres e que mostre a frase introduzida:
em letras minúsculas;
em letras maiúsculas;
com todas as palavras capitalizadas;
com uma palavra à escolha substituída por "Alface";
transforme a frase numa lista composta por todas as palavras.
Proposta de resolução:
# Pedir ao utilizador para inserir uma frase e guardá-la na variável frase
frase = str(input("Insira um frase: "))
# Mostrar a frase em Minúsculas
print("\nEm minúsculas: ", frase.lower())
# Mostrar a frase em Maiúsculas
print("\nEm maiúsculas: ", frase.upper())
# Mostrar a frase Capitalizada (com a primeira letra maiúscula
print("\nCapitalizada: ", frase.capitalize())
# Mostrar a frase substituindo a palavra "um" por "Alface"
print("\nSubstituindo 'um' por 'Alface': ", frase.replace("um", "Alface"))
# Transforma a frase numa lista
print("\nFrase transformada em lista: ", frase.split())
Nota: este exercício for resolvido com a seguinte frase "Está um lindo dia de Sol."
Ex. 16. Cria um programa que pergunte ao utilizador uma palavra à escolha e que devolva a:
a palavra invertida;
as letras que estão nas posições pares;
o quarto caracter da palavra.
as primeiras cinco letras.
Proposta de resolução:
# Pedir ao utilizador para inserir uma palavra e guardá-la na variável palavra
palavra = str(input("Insira um palavra: "))
# Mostra a palavra invertida
print("\nPalavra invertida: ", palavra[::-1])
# Mostra as letras que se encontram nos índices (posições) pares
print("\nÍndices pares: ", palavra[::2])
# Mostra o quarto caracter da palavra
print("\nQuarto caracter: ", palavra[3])
# Mostra as primeiras 5 letras
print("\nQuarto caracter: ", palavra[0:5])
Ex. 17. Cria uma programa que, para uma dada lista de números aleatórios, mostre ao utilizador a lista de números que foi gerada e quais dos seus elementos são um número par.
Sugestões:
coloca o código ao lado no início do teu programa;
cria um ciclo que verifique a paridade de cada elemento da lista.
*Ex. 17.1. Modifica o programa anterior de forma a que, com base na lista gerada aleatoriamente, sejam criadas duas novas listas: uma que irá guardar os números que forem múltiplos de 2 e a outra que irá guardar os número que forem múltiplos de 3. No final, o programa terá de mostrar a lista que foi gerada e as listas dos múltiplos de 2 e dos múltiplos de 3.
Ex. 18. Cria um programa que faça o mesmo que o código do balão ao acima, mas usando um ciclo for.
Ex. 19. Cria um programa que verifique se a fruta “Melancia” está presente na lista de frutas abaixo e que devolva o índice (posição) em que esta se encontra.
Frutas = [“Pêra”, “Maçã”, “Abacate”, “Melancia”, “Laranja”]
Ex. 20. Cria um programa que peça ao utilizador que introduza um número qualquer. O programa deve verificar se o número introduzido pelo utilizador é menor ou igual a 1000. Se for menor ou igual então o programa deve devolver “Sim”, caso contrário deve devolver “NÃO”.
Ex. 21. Cria um programa que gere uma lista que contenha todos os números pares entre 0 e 30, inclusive. O programa deve verificar se o número é para ou não é só é colocado na lista (pares) caso seja par.
Sugestão: Antes de criares o teu programa, testa o código ao lado. Repara que o código mostra os números de 0 a 5, saltado o número 2. Podes adaptar o código ao lado para o teu programa.
Ex. 22. Usando o ciclo for, cria um programa que transforme todos os da lista abaixo em lower-case.
cores = [“Azul”, “VERMELHO”, “preto”, “ROSA”, “AmARelo”]
*Ex. 22.1. Cria um programa que faça o mesmo que o anterior, mas usando um ciclo while. Sugestão: usa uma função que te ajude a obter o tamanho da lista.
Ex. 23. Cria uma programa que gere 3 listas. A primeira lista deverá guardar todos os elementos os múltiplos de 1 que existem entre 1 e 30, a segunda lista deverá guardar todos os múltiplos de 2 entre 1 e 30 e a terceira lista deverá guardar todos os múltiplos de 3 entre 1 e 30. No final o programa deve mostrar as 3 listas.
Sugestão: usa o operador de divisão inteira e a estrutura condicional if-elif-else.
Ex. 24. Cria um programa que passe os elementos da lista_1 para a lista_2, transformando todos os elementos para upper-case (tudo em letras maiúsculas). No final programa deve mostrar ao utilizador as duas listas, a lista_1 vazia e a lista_2 com os elementos em upper-case.
Sugestão: usa o ciclo while ou o ciclo for.
Ex. 25. Para as 3 listas de números abaixo, cria um programa que calcule a soma de todos os elementos das listas e que devolva ao utilizador o resultado obtido.
X = [ 20, 10, 40, 5 ] Y=[ 10, 30, 10, 20 ] Z = [ 15, 5, 20, 25 ]
*Ex. 25.1. Para as mesmas 3 listas de números, cria um programa que calcule a soma dos elementos de cada lista, separadamente, e que diga ao utilizador qual das listas tem o maior valor.