1
resposta

Desafio: hora da prática

1.Escreva um código que lê a lista abaixo e faça:
lista = [16, 14, 63, 65, 17, 99, 70, 11, 20, 48, 79, 32, 17, 89, 12, 25, 66]

A leitura do tamanho da lista A leitura do maior e menor valor A soma dos valores da lista Ao final exiba uma mensagem dizendo:

"A lista possui [tam] números em que o maior número é [maior] e o menor número é [me
RESPOSTA:
#Lista
lista = [16, 14, 63, 65, 17, 99, 70, 11, 20, 48, 79, 32, 17, 89, 12, 25, 66]
#Função que indica o tamanho da lista
tam = len(lista)
#Funão que indica o maior valor da lista
maior = max(lista)
#Função que indica o menor alor da lista
menor = min(lista)
#Função que soma os valores da lista
soma = sum(lista)
print(f"A lista possui {tam} números em que o maior número é {maior} e o menor número é {menor}")

2.Escreva uma função que gere a tabuada de um número inteiro de 1 a 10, de acordo com a escolha da pessoa usuária. Como exemplo, para o número 7, a tabuada deve ser mostrada no seguinte formato:
Tabuada do 7:

7 x 0 = 0

7 x 1 = 7

[...]

7 x 10 = 70
RESPOSTA:
def tabuada(numero):
print(f"Tabuada do {numero}:\n")

for i in range(0, 11):
    print(f"{numero} x {i} = {numero * i}")

#solicitando o número para a pessoa usuária
num = int(input("Digite um número inteiro: "))

#chamando a função
tabuada(num)

3.Crie a função que leia a lista abaixo e retorne uma nova lista com os múltiplos de 3:
[97, 80, 94, 88, 80, 1, 16, 53, 62, 32, 24, 99]

Utilize o return na função e salve a nova lista na variável mult_3.
RESPOSTA:
#Lista
numeros = [97, 80, 94, 88, 80, 1, 16, 53, 62, 32, 24, 99]

#Função
def multiplos(lista):

nova_lista = []

# percorrendo a lista para encontrar os múltiplos
for numeros in lista:

    if numeros % 3 == 0:

        # salva os múltiplos na nova lista
        nova_lista.append(numeros)

return nova_lista

#salvando o resultado
mult_3 = multiplos(numeros)

#exibindo resultado
print(mult_3)

4.Crie uma lista dos quadrados dos números da seguinte lista [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].
Lembre-se de utilizar as funções lambda e map() para calcular o quadrado de cada elemento da lista.
RESPOSTA:
#lista original
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

#criando a lista com os quadrados
quadrados = list(map(lambda x: x ** 2, numeros))

#exibindo resultado
print(quadrados)

1 resposta

Olá, Weydison. Como vai?

Parabéns pela excelente resolução de todo o desafio! Seus códigos ficaram limpos, organizados e você aplicou perfeitamente as funções nativas do Python (len, max, min, sum), estruturas de repetição (for com range), condicionais, além das funções avançadas map() e lambda.

A sua solução demonstra que você já assimilou muito bem os conceitos essenciais da linguagem. Para agregar ainda mais valor ao seu aprendizado e trazer novas perspectivas de boas práticas comuns no mercado, quero compartilhar duas dicas de otimização de código:

1. Ajuste de Indentação na Função da Tabuada (Exercício 2)
O seu raciocínio lógico está 100% correto. Apenas fique atento à indentação do bloco de código quando for colar no terminal ou em arquivos .py. Dentro do bloco do for, o print precisa estar alinhado um nível para a direita em relação à definição da função. No seu post, o print da tabuada ficou na mesma linha vertical do def. O formato correto com a indentação padrão (4 espaços) é:

def tabuada(numero):
    print(f"Tabuada do {numero}:\n")
    for i in range(0, 11):
        print(f"{numero} x {i} = {numero * i}")

2. Substituindo funções por List Comprehension (Exercício 3 e 4)
No exercício 3 e 4, você usou muito bem as abordagens tradicionais e funcionais (map + lambda). No ecossistema Python, existe uma estrutura muito popular, elegante e considerada mais "pythonica" chamada List Comprehension (Compreensão de Lista). Ela permite fazer filtragens e mapeamentos em uma única linha, substituindo o for tradicional e o map().

Veja como o exercício 3 (filtrar múltiplos de 3) ficaria extremamente elegante usando essa técnica dentro da sua função:

def multiplos(lista):
    return [numero for numero in lista if numero % 3 == 0]

E veja como o exercício 4 (calcular os quadrados) também poderia ser simplificado sem precisar do map e da função lambda:

numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
quadrados = [x ** 2 for x in numeros]
print(quadrados)

(Ambas as formas que você fez estão corretas, mas dominar List Comprehension vai deixar o seu código muito mais rápido de ler no dia a dia).

Parabéns pelo empenho e pela precisão nas respostas de cada uma das atividades práticas! Continue com esse ótimo ritmo de estudos.

Espero que possa ter lhe ajudado!