0
respostas

[Sugestão] Aula02_Python_Trabahando com Funções - Atividade 01/02/03/04

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

def dadoslista(lista):
    """
    Função que recebe uma lista e retorna o tamanho, maior valor, menor valor e soma dos valores da lista.
    
    :param lista: Lista de números inteiros
    :return: Tamanho da lista, maior valor, menor valor e soma dos valores
    """
    # Tamanho da lista
    tamlista = len(lista)
    # Maior valor da lista
    maiorvalor = max(lista)
    # Menor valor da lista
    menorvalor = min(lista)
    # Soma da lista
    somalista = sum(lista)
    
    return tamlista, maiorvalor, menorvalor, somalista

# Impressão
print(f'A lista possui {dadoslista(lista)[0]} números em que o maior valor é {dadoslista(lista)[1]}, o menor valor é {dadoslista(lista)[2]} e a soma dos valores é {dadoslista(lista)[3]}.')
## 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:
# Coleta e valida o número
while True:
    try:
        numero = int(input('Digite um número de 1 a 10: '))
        if 1 <= numero <= 10:
            break
        else:
            print('Número fora do intervalo. Tente novamente.')
    except ValueError:
        print('Valor inválido. Digite um número inteiro.')

# Valida o operador
operadores = ['+', '-', '*', '/']
while True:
    operador = input('Digite um operador matemático (+, -, *, /): ')
    if operador in operadores:
        break
    else:
        print('Operador inválido. Tente novamente.')

# Função da tabuada
def tabuada(numero, operador):
    resultados = []
    print(f'\nTabuada do {numero} com o operador \'{operador}\':')
    for i in range(1, 11):
        if operador == '+':
            resultado = numero + i
        elif operador == '-':
            resultado = numero - i
        elif operador == '*':
            resultado = numero * i
        elif operador == '/':
            resultado = round(numero / i, 2)
        resultados.append(f'{numero} {operador} {i} = {resultado}')
    return resultados

# Chamada e exibição
resultado = tabuada(numero, operador)
print('\nResultado:')
for linha in resultado:
    print(linha)
## 3. Crie a função que leia a lista abaixo e retorne uma nova lista com os múltiplos de 3:
# Lista de números
numeros = [97, 80, 94, 88, 80, 1, 16, 53, 62, 32, 24, 99]

# Função que retornar os números multiplos de 3
def multiplos_de_tres(numeros):
    '''
    Esta função recebe uma lista de números e retorna uma nova lista contendo apenas os números que são múltiplos de 3.
    '''
    # Lista para armazenar os números múltiplos de 3
    multiplos = []
    
    # Percorre a lista de números
    for numero in numeros:
        # Verifica se o número é múltiplo de 3
        if numero % 3 == 0:
            # Adiciona o número à lista de múltiplos
            multiplos.append(numero)
    
    # Retorna a lista de múltiplos de 3
    return multiplos

# Chama a função e imprime o resultado
resultado = multiplos_de_tres(numeros)
print('Números múltiplos de 3:', resultado)
## 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.
# Lista de números
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Quadros dos números
numeroq = list(map(lambda x: x**2, numeros))

# Exibe os números e seus quadrados
print(f'[{" - ".join(map(str, numeroq))}]')