1
resposta

Exercicios

import os
lista_de_numeros = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,30]
lista_de_nomes = ['Guilherme', 'sthefany', 'Ruan', 'Lais']
lista_de_anos = [2008,2026]

def ex1():
     print('1.Lista de números')
     print('2.Lista de nomes')
     print('3.Lista de anos\n')
     escolha_exercicio_1 = int(input('Escolha 1 dentre estes: \n'))

     if escolha_exercicio_1 == 1:
          for numero in range(1,10):     
               print(numero)
     elif escolha_exercicio_1 == 2:
          for nomes in lista_de_nomes:               
               print(nomes)
     elif escolha_exercicio_1 == 3:
          for anos in lista_de_anos:
               print(anos)
     else:
          print('opcao invalida!')
          input('digite uma tecla para voltar ao menu principal')
          ex1()

def ex2():
     print('1.Caucular impares')
     print('2.Caucular pares')
     pares_ou_impares = int(input('\nEscolha uma das opções acima: \n'))



     def impares():
          soma = 0
          print('Cauculando soma total dos impares...')
          for numeros in lista_de_numeros:
               if numeros % 2 != 0:
                    soma = soma + numeros
          print(soma)          


     def pares():
          soma = 0
          print('Cauculando soma total dos pares...')
          for numeros in lista_de_numeros:
               if numeros % 2 == 0:
                    soma = soma + numeros
          print(soma)          



     if pares_ou_impares == 1:
          impares()                  
     elif pares_ou_impares == 2:
          pares()
     else:
          print('opcao invalida!')
          input('digite uma tecla para voltar ao menu principal')
          ex1()

def ex3():

     tabuada_de_dez = int(input('Insira um número, e eu lhe mostro a tabuada dele de 1 á 10: '))

     for numeros in lista_de_numeros:
          resultado = tabuada_de_dez * numeros
          print(f'{numeros}.{tabuada_de_dez} = {resultado}')

def lista_para_soma_ou_media():
          print('Insira números a sua escolha divididos por virgula')
          print('Segue o exemplo: 1,2,3,4,5')
          numeros_para_soma = input('\n')
          numeros_para_soma_separado = numeros_para_soma.split(',')
          return numeros_para_soma_separado

def ex4():
     numeros_para_soma_separado = lista_para_soma_ou_media()
     soma = 0
     try:
          print('Cauculando números....')
          
          for numeros in numeros_para_soma_separado:
               numeros_int = int(numeros)
               soma += numeros_int    
          print(soma)
     except:
          print('Erro...\n')
          print('Números invalidos!')
          input('Digite uma tecla para voltar a seleção')
          os.system('cls')
          ex4()
          
def ex5():
    numeros_para_soma_separado = lista_para_soma_ou_media()
    soma = 0
    try:
        for numeros in numeros_para_soma_separado:
            numeros_int = int(numeros)
            soma += numeros_int

        quantidade_de_numeros = len(numeros_para_soma_separado)
        media = soma / quantidade_de_numeros

        print(f'Média: {media}')

    except ValueError:
        print('Erro...\n')
        print('Números invalidos!')
        input('Digite uma tecla para voltar a seleção')
        os.system('cls')
        ex5()

def limpeza():
     def Limpando():
          os.system('cls') 
          print('Finalizando\n')

     print('\n1.limpar')
     print('2.Manter\n')

     limpar = int(input())
     if limpar == 2:
          print('Ok')
     elif limpar == 1:
          Limpando()
     else:
          print('Número invalido\n')
          limpeza()

def limpar_erro():
     os.system('cls') 
     print('Finalizando\n')

def opcao_invalida():
     print('opcao invalida!')
     input('digite uma tecla para voltar ao menu principal')
     limpar_erro()
     
def main():
     try:
          escolha_exercicio = int(input('Escolha um exercicio de 1 á 5: '))
          if escolha_exercicio == 1:
               os.system('cls')
               ex1()
               limpeza()    
          elif escolha_exercicio == 2:
               os.system('cls')
               ex2()
               limpeza()
          elif escolha_exercicio == 3:
               os.system('cls')
               ex3()
               limpeza()
          elif escolha_exercicio == 4:
               os.system('cls')
               ex4()
               limpeza()
          elif escolha_exercicio == 5:
               os.system('cls')
               ex5()
               limpeza()
          else:
               print('invalido\n')
     except:
          opcao_invalida()         

if __name__ == '__main__':
     main()

Eu tentei fazer de um jeito que a lista de exercícios ficasse mais dinâmica, alguma dica para melhorar no código?

1 resposta

Oi Guilherme, como você está?

Poxa, que iniciativa legal! Transformar uma lista de exercícios em uma aplicação interativa com menu, limpeza de tela e tratamento de erros é uma excelente forma de fixar o conteúdo e ir além do que foi pedido. Essa proatividade de criar algo dinâmico ajuda muito no aprendizado da lógica de programação.

Seu código está muito bem estruturado para quem está começando. Continue explorando a biblioteca os e o tratamento de exceções, pois são ferramentas poderosas no dia a dia.

Bons estudos!

Sucesso

Imagem da comunidade