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.