Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Praticando Python: funções

nascimento = int(input('Digite o ano do nascimento: '))
atual = int(input('Digite o ano atual: '))

def calculadora_idade(nascimento, atual):
return atual - nascimento
print(f'a sua idade é {calculadora_idade(nascimento, atual)} anos')

palavra = input('Digite uma palavra: ')
def calc_caractere (palavra):
return len(palavra)

print(f'Essa palavra tem {calc_caractere(palavra)} caracteres')

hora = int(input('Digite a hora atual (0/23): '))

def horario(tempo):
if 0 < tempo < 12:
return 'Bom dia!'
elif 12 <= tempo < 18:
return 'Boa tarde!'
elif 18 <= tempo <= 23:
return 'Boa noite!'
else:
return 'Digitou a hora errada'

print(horario(hora))

telefones = ['11987654321', '21912345678', '31987654321', '11911223344']

def converter_int(lista_telefones):
for i in range(len(lista_telefones)):
try:
lista_telefones[i] = int(lista_telefones[i])
except ValueError:
print('Erro ao converter')

def verificar_int (lista_telefones):
for numero in lista_telefones:
if type(numero) != int:
return False
return True

converter_int(telefones)

print('Todos os números foram convertidos corretamente')

valor = input('Digite os valores das vendas: ').split()
valores = []

for result in valor:
valores.append(float(result))

print (f'O total de vendas foi: {sum(valores)}')

numeros = input('Digite os números separados por espaço: ').split()

pares = filter(lambda x: int(x) % 2 == 0, numeros)
print('Números pares:', ' '.join(pares))

frutas = input('Digite os produtos separados por vírgulas: ').split()
valores = input('Digite os preços separados por vírgula: ').split()

for fruta , preco in zip(frutas, valores):
print(fruta, ':', preco)

num1 = float(input('Digite o primeiro número: '))
num2 = float(input('Digite o segundo número: '))

soma = lambda num1, num2: num1 + num2
sub = lambda num1, num2: num1 - num2
multi = lambda num1, num2: num1 * num2
div = lambda num1, num2: num1 / num2 if num2 != 0 else 'Não pode dividir por 0'
operacao = input('Escolha a operação (| + | - | * | / |): ')
operacoes = {'+': soma, '-': sub, '*':multi, '/':div}

if operacao in operacoes:
resultado = operacoes[operacao](num1, num2)
print(f'O Resultado é: {resultado}')
else:
print('Operação inválida')

porcentagem = int(input('Digite a porcentagem de desconto: '))
valor = int(input('Digite o valor da compra: '))

def calculadora (porcentagem, valor):
resultado =valor - ( valor * (porcentagem/100))
return resultado

print(f'Preço final com desconto é R${calculadora(porcentagem, valor):.2f}')

def recursiva(n):
if n == 1:
return 1
return n + recursiva(n - 1)

numero = int(input("Digite um número: "))
print(f"A soma de 1 a {numero} é: {recursiva(numero)}")

1 resposta

Oi, Evandro! Como vai?

Gostei de ver que você praticou vários conceitos em um único exercício, como funções, lambda, recursividade, filter(), zip() e tratamento de erros com try/except. Isso demonstra dedicação em explorar diferentes recursos do Python. Um detalhe interessante é que você criou a função verificar_int(), mas ela não foi utilizada após a conversão dos telefones. Você poderia aproveitá-la para validar se a conversão ocorreu corretamente.

Uma dica interessante para o futuro é utilizar a função all() para verificar se todos os elementos de uma lista atendem a uma condição. Veja este exemplo:


numeros = [1, 2, 3, 4]

resultado = all(type(numero) == int for numero in numeros)

print(resultado)

Nesse exemplo, o código verifica se todos os itens da lista são do tipo int, retornando True ou False.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!