Problemas Resolvidos em Python

Índice

Problema 1: Calcular a média de uma lista de números

def calcular_media(numeros):
    if len(numeros) == 0:
        return "A lista de números não pode estar vazia"
    soma = sum(numeros)
    media = soma / len(numeros)
    return media

numeros = [10, 20, 30, 40, 50]
media = calcular_media(numeros)
print(f"A média é: {media:.2f}")

# Saída esperada
# A média é: 30.00
        

Problema 2: Verificar se um número é par ou ímpar

def verificar_par_ou_impar(numero):
    if numero % 2 == 0:
        return "Par"
    else:
        return "Ímpar"

numero = 15
resultado = verificar_par_ou_impar(numero)
print(f"O número {numero} é {resultado}.")

# Saída esperada
# O número 15 é Ímpar.
        

Problema 3: Calcular o fatorial de um número

def calcular_fatorial(numero):
    if numero < 0:
        return "O número deve ser maior ou igual a zero"
    fatorial = 1
    for i in range(1, numero + 1):
        fatorial *= i
    return fatorial

numero = 5
fatorial = calcular_fatorial(numero)
print(f"O fatorial de {numero} é {fatorial}.")

# Saída esperada
# O fatorial de 5 é 120.
        

Problema 4: Converter graus Celsius para Fahrenheit

def celsius_para_fahrenheit(celsius):
    fahrenheit = (celsius * 9/5) + 32
    return fahrenheit

celsius = 25
fahrenheit = celsius_para_fahrenheit(celsius)
print(f"{celsius}°C é equivalente a {fahrenheit:.2f}°F.")

# Saída esperada
# 25°C é equivalente a 77.00°F.
        

Problema 5: Verificar se uma string é um palíndromo

def verificar_palindromo(texto):
    texto = texto.replace(" ", "").lower()
    return texto == texto[::-1]

texto = "arara"
eh_palindromo = verificar_palindromo(texto)
if eh_palindromo:
    print(f"A palavra '{texto}' é um palíndromo.")
else:
    print(f"A palavra '{texto}' não é um palíndromo.")

# Saída esperada
# A palavra 'arara' é um palíndromo.
        

Problema 6: Calcular o valor hora de um funcionário

def calcular_valor_hora(salario_mensal, horas_trabalhadas):
    if horas_trabalhadas == 0:
        return "O valor das horas trabalhadas não pode ser igual a zero"
    valor_hora = salario_mensal / horas_trabalhadas
    return valor_hora

salario_mensal = 3000.00
horas_trabalhadas = 160
valor_hora = calcular_valor_hora(salario_mensal, horas_trabalhadas)
print(f"R$: {valor_hora:.2f} é o valor hora.")

# Saída esperada
# R$: 18.75 é o valor hora.
        

Problema 7: Verificar se um número é positivo, negativo ou zero

def verificar_numero(numero):
    if numero > 0:
        return "Positivo"
    elif numero < 0:
        return "Negativo"
    else:
        return "Zero"

numero = -8
resultado = verificar_numero(numero)
print(f"O número {numero} é {resultado}.")

# Saída esperada
# O número -8 é Negativo.
        

Problema 8: Encontrar o maior número em uma lista

def encontrar_maior(lista):
    if len(lista) == 0:
        return "A lista está vazia"
    maior = lista[0]
    for numero in lista:
        if numero > maior:
            maior = numero
    return maior

lista = [3, 7, 2, 8, 5]
maior = encontrar_maior(lista)
print(f"O maior número da lista é {maior}.")

# Saída esperada
# O maior número da lista é 8.
        

Problema 9: Ordenar uma lista em ordem crescente

def ordenar_lista(lista):
    return sorted(lista)

lista = [3, 1, 4, 1, 5, 9, 2, 6, 5]
lista_ordenada = ordenar_lista(lista)
print(f"A lista ordenada é {lista_ordenada}.")

# Saída esperada
# A lista ordenada é [1, 1, 2, 3, 4, 5, 5, 6, 9].
        

Problema 10: Calcular a soma dos números de 1 a N

def soma_1_a_n(n):
    return sum(range(1, n + 1))

n = 10
soma = soma_1_a_n(n)
print(f"A soma dos números de 1 a {n} é {soma}.")

# Saída esperada
# A soma dos números de 1 a 10 é 55.
        

Problema 11: Contar o número de vogais em uma string

def contar_vogais(texto):
    vogais = "aeiou"
    contador = sum(1 for letra in texto.lower() if letra in vogais)
    return contador

texto = "Olá, Mundo!"
numero_vogais = contar_vogais(texto)
print(f"O número de vogais na string é {numero_vogais}.")

# Saída esperada
# O número de vogais na string é 4.
        

Problema 12: Verificar se um número é primo

def verificar_primo(numero):
    if numero <= 1:
        return False
    for i in range(2, int(numero ** 0.5) + 1):
        if numero % i == 0:
            return False
    return True

numero = 29
eh_primo = verificar_primo(numero)
print(f"O número {numero} é {'primo' if eh_primo else 'não primo'}.")

# Saída esperada
# O número 29 é primo.
        

Problema 13: Converter Fahrenheit para Celsius

def fahrenheit_para_celsius(fahrenheit):
    celsius = (fahrenheit - 32) * 5/9
    return celsius

fahrenheit = 77
celsius = fahrenheit_para_celsius(fahrenheit)
print(f"{fahrenheit}°F é equivalente a {celsius:.2f}°C.")

# Saída esperada
# 77°F é equivalente a 25.00°C.
        

Problema 14: Encontrar o menor número em uma lista

def encontrar_menor(lista):
    if len(lista) == 0:
        return "A lista está vazia"
    menor = lista[0]
    for numero in lista:
        if numero < menor:
            menor = numero
    return menor

lista = [3, 7, 2, 8, 5]
menor = encontrar_menor(lista)
print(f"O menor número da lista é {menor}.")

# Saída esperada
# O menor número da lista é 2.
        

Problema 15: Verificar se um ano é bissexto

def verificar_bissexto(ano):
    return (ano % 4 == 0 and ano % 100 != 0) or (ano % 400 == 0)

ano = 2024
eh_bissexto = verificar_bissexto(ano)
print(f"O ano {ano} é {'bissexto' if eh_bissexto else 'não bissexto'}.")

# Saída esperada
# O ano 2024 é bissexto.
        

Problema 16: Encontrar o N-ésimo número da sequência de Fibonacci

def fibonacci(n):
    a, b = 0, 1
    for _ in range(n):
        a, b = b, a + b
    return a

n = 10
numero_fibonacci = fibonacci(n)
print(f"O {n}-ésimo número da sequência de Fibonacci é {numero_fibonacci}.")

# Saída esperada
# O 10-ésimo número da sequência de Fibonacci é 55.
        

Problema 17: Calcular a soma dos dígitos de um número

def soma_digitos(numero):
    return sum(int(digito) for digito in str(numero))

numero = 12345
soma = soma_digitos(numero)
print(f"A soma dos dígitos do número {numero} é {soma}.")

# Saída esperada
# A soma dos dígitos do número 12345 é 15.
        

Problema 18: Encontrar todos os números pares em uma lista

def encontrar_pares(lista):
    return [numero for numero in lista if numero % 2 == 0]

lista = [1, 2, 3, 4, 5, 6]
pares = encontrar_pares(lista)
print(f"Os números pares na lista são {pares}.")

# Saída esperada
# Os números pares na lista são [2, 4, 6].
        

Problema 19: Calcular o quadrado de cada número em uma lista

def calcular_quadrados(lista):
    return [numero ** 2 for numero in lista]

lista = [1, 2, 3, 4]
quadrados = calcular_quadrados(lista)
print(f"O quadrado dos números da lista é {quadrados}.")

# Saída esperada
# O quadrado dos números da lista é [1, 4, 9, 16].
        

Problema 20: Remover duplicatas de uma lista

def remover_duplicatas(lista):
    return list(set(lista))

lista = [1, 2, 2, 3, 4, 4, 5]
lista_sem_duplicatas = remover_duplicatas(lista)
print(f"A lista sem duplicatas é {lista_sem_duplicatas}.")

# Saída esperada
# A lista sem duplicatas é [1, 2, 3, 4, 5].
        

Problema 21: Encontrar o menor e o maior número em uma lista

def encontrar_menor_maior(lista):
    if len(lista) == 0:
        return "A lista está vazia"
    menor = min(lista)
    maior = max(lista)
    return menor, maior

lista = [3, 7, 2, 8, 5]
menor, maior = encontrar_menor_maior(lista)
print(f"O menor número da lista é {menor} e o maior é {maior}.")

# Saída esperada
# O menor número da lista é 2 e o maior é 8.
        

Problema 22: Verificar se uma string é um palíndromo

def verificar_palindromo(texto):
    texto = texto.lower().replace(" ", "")
    return texto == texto[::-1]

texto = "A man a plan a canal Panama"
eh_palindromo = verificar_palindromo(texto)
print(f"A string '{texto}' é {'um palíndromo' if eh_palindromo else 'não um palíndromo'}.")

# Saída esperada
# A string 'A man a plan a canal Panama' é um palíndromo.
        

Problema 23: Contar o número de palavras em uma string

def contar_palavras(texto):
    return len(texto.split())

texto = "Esta é uma string com várias palavras."
numero_palavras = contar_palavras(texto)
print(f"O número de palavras na string é {numero_palavras}.")

# Saída esperada
# O número de palavras na string é 6.
        

Problema 24: Verificar se dois números são iguais

def verificar_igualdade(numero1, numero2):
    return numero1 == numero2

numero1 = 5
numero2 = 5
sao_iguais = verificar_igualdade(numero1, numero2)
print(f"Os números {numero1} e {numero2} são {'iguais' if sao_iguais else 'diferentes'}.")

# Saída esperada
# Os números 5 e 5 são iguais.
        

Problema 25: Calcular o fatorial de um número

import math

def calcular_fatorial(numero):
    return math.factorial(numero)

numero = 5
fatorial = calcular_fatorial(numero)
print(f"O fatorial de {numero} é {fatorial}.")

# Saída esperada
# O fatorial de 5 é 120.
        

Problema 26: Criar uma lista com 50 números e ordená-la em ordem crescente

import random

# Gerar uma lista com 50 números aleatórios entre 1 e 100
lista_numeros = [random.randint(1, 100) for _ in range(50)]
            
# Ordenar a lista em ordem crescente
lista_ordenada = sorted(lista_numeros)
         
print("Lista original:")
print(lista_numeros)
            
print("\nLista ordenada:")
print(lista_ordenada)