Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Projeto] [Projeto] Resolução Desafio

meu projeto ficou muito grande para postar aqui

com1 = ""
while True:
  clear_output(wait=True)
  print("########       Desafio: hora da pratica   ##########")
  print("##--------------------------------------------------##")
  print("## COMANDO    #         MENU                       ##")
  print("##--------------------------------------------------##")
  print("##    A        #    Coleta e amostragem de dados    ##")
  print("##    B        #    Calculadora com operadores      ##")
  print("##    C        #    Editando textos                 ##")
  print("##                                                  ##")
  print("##    X        #    SAIR                            ##")
  print("##================================================= ##")
  com1 = str(input("INSIRA O COMANDO: > "))
  if com1 == "A" or com1 == "a":
    sub_a()
  elif com1 == "B" or com1 == "b":
    sub_b()
  elif com1 == "C" or com1 == "c":
    sub_c()
  elif com1 == "X" or com1 == "x":
    print(">> Finalizando programa")
    t.sleep(3)
    clear_output()
    break
  else :
    print(">> Opcao Invalida. Pressione ENTER para continuar...")
    t.sleep(2)
4 respostas
from IPython.display import clear_output
import time as t
def sub_a():
  while True :
    clear_output()
    print("########       Coleta e amostragem de dados ##########")
    print("##--------------------------------------------------##")
    print("## COMANDO    #         MENU                       ##")
    print("##--------------------------------------------------##")
    print("##    1        #    Nome                            ##")
    print("##    2        #    Nome, Idade                     ##")
    print("##    3        #    Nome, Idade, Altura             ##")
    print("##                                                  ##")
    print("##    0        #    Voltar ao Menu Principal        ##")
    print("##================================================= ##")
    com_a = str(input("INSIRA O COMANDO: > "))
    
    try:
      com_a_int = int(com_a)
      if com_a_int >= 1 and com_a_int <= 3 :
        var_a = ["","O NOME","","A IDADE","","A ALTURA",""]
        for i in range(1, int(com_a_int)*2,2):
          var_a[i+1] = str(input("INSIRA " + var_a[i] + ": > "))
        var_a[2] = var_a[2].upper().strip()
        msg = f" Ola, {var_a[2]}!"
        msg += f" Você tem {var_a[4]} anos e mede {var_a[6]} metros!" if com_a_int == 3 else ""
        msg += f" Você tem {var_a[4]} anos." if com_a_int == 2 else ""
        print(msg)
        a = input("Pressione ENTER para continuar > ")
      elif com_a_int == 0 :
        print(">> Finalizando bloco do programa")
        t.sleep(3)
        break
      else :
        a = input("Pressione ENTER para reiniciar bloco do programa > ")
        t.sleep(3)
    except ValueError:
      print(">> Entrada invalida. Finalizando bloco do programa")
      t.sleep(2)
      break
def soma_dois():
    a = float(input("Digite o primeiro valor: "))
    b = float(input("Digite o segundo valor: "))
    print(f"Soma: {a + b}")

def soma_tres():
    a = float(input("Digite o primeiro valor: "))
    b = float(input("Digite o segundo valor: "))
    c = float(input("Digite o terceiro valor: "))
    print(f"Soma: {a + b + c}")

def subtracao():
    a = float(input("Digite o primeiro valor: "))
    b = float(input("Digite o segundo valor: "))
    print(f"Subtraçao: {a - b}")

def multiplicacao():
    a = float(input("Digite o primeiro valor: "))
    b = float(input("Digite o segundo valor: "))
    print(f"Multiplicaçao: {a * b}")

def divisao():
    a = float(input("Digite o numerador: "))
    b = float(input("Digite o denominador (nao pode ser 0): "))
    if b == 0:
        print("O denominador nao pode ser 0.")
    else:
        print(f"Divisao: {a / b}")

def exponenciacao():
    a = float(input("Digite a base: "))
    b = float(input("Digite o expoente: "))
    print(f"Exponenciaçao: {a ** b}")

def divisao_inteira():
    a = float(input("Digite o numerador: "))
    b = float(input("Digite o denominador (nao pode ser 0): "))
    if b == 0:
        print("O denominador nao pode ser 0.")
    else:
        print(f"Divisao inteira: {a // b}")

def resto_divisao():
    a = float(input("Digite o numerador: "))
    b = float(input("Digite o denominador (nao pode ser 0): "))
    if b == 0:
        print("O denominador nao pode ser 0.")
    else:
        print(f"Resto da divisao: {a % b}")

def media_tres_notas():
    notas = []
    for i in range(3):
        nota = float(input(f"Digite a nota {i+1}: "))
        notas.append(nota)
    print(f"Media: {sum(notas) / len(notas)}")

def media_ponderada():
    numeros = [5, 12, 20, 15]
    pesos = [1, 2, 3, 4]
    soma_ponderada = sum(n * p for n, p in zip(numeros, pesos))
    soma_pesos = sum(pesos)
    print(f"Media ponderada: {soma_ponderada / soma_pesos}")

def sub_b():
  while True :
    clear_output()
    print("########       Coleta e amostragem de dados ##########")
    print("##--------------------------------------------------##")
    print("## COMANDO    #         MENU                       ##")
    print("##--------------------------------------------------##")
    print("##     1        #    SOMA                     [2]   ##")
    print("##     2        #    SOMA                     [3]   ##")
    print("##     3        #    SUBTRACAO                [2]   ##")
    print("##     4        #    MULTIPLICACAO            [2]   ##")
    print("##     5        #    DIVISAO                  [2]   ##")
    print("##     6        #    POTENCIA                 [2]   ##")
    print("##     7        #    DIVISAO INTEIRA          [2]   ##")
    print("##     8        #    RESTO DE DIVISAO         [2]   ##")
    print("##     9        #    MEDIA DE NOTAS           [3]   ##")
    print("##    10        #    MEDIA PONDERADA                ##")
    print("##                                                  ##")
    print("##     0        #    Voltar ao Menu Principal       ##")
    print("##================================================= ##")
    com_a = str(input("INSIRA O COMANDO: > "))
    
    try:
      com_a_int = int(com_a)
      if com_a_int >= 1 and com_a_int <= 10 :
        opcoes = { "1": soma_dois,       "2": soma_tres,
                "3": subtracao,          "4": multiplicacao,
                "5": divisao,            "6": exponenciacao,
                "7": divisao_inteira,    "8": resto_divisao,
                "9": media_tres_notas,   "10": media_ponderada}
        funcao= opcoes.get(com_a)
        if funcao:
          funcao()
          b = input("Pressione ENTER para continuar") 
      elif com_a_int == 0 :
        print(">> Finalizando bloco do programa")
        t.sleep(3)
        break
      else :
        b = input("Pressione ENTER para reiniciar bloco do programa > ")
        t.sleep(3)
    except ValueError:
      print(">> Entrada invalida. Finalizando bloco do programa")
      t.sleep(2)
      break
def imprimir_frase():
    frase = "Esta e uma frase de exemplo sem criatividade."
    print(frase)

def solicitar_frase():
    frase = input("Digite uma frase: ")
    print(frase)

def frase_maiuscula():
    frase = input("Digite uma frase: ")
    print(frase.upper())

def frase_minuscula():
    frase = input("Digite uma frase: ")
    print(frase.lower())

def imprimir_frase_sem_espacos():
    frase = "   Esta e uma frase de exemplo sem critatividade mas com espacos no inicio e no final.   "
    print(frase.strip())

def frase_sem_espacos():
    frase = input("Digite uma frase: ")
    print(frase.strip())

def frase_sem_espacos_minuscula():
    frase = input("Digite uma frase: ")
    print(frase.strip().lower())

def substituir_vogais_e():
    frase = input("Digite uma frase: ")
    print(frase.replace("e", "f").replace("E", "F"))

def substituir_vogais_a():
    frase = input("Digite uma frase: ")
    print(frase.replace("a", "@").replace("A", "@"))

def substituir_consoantes_s():
    frase = input("Digite uma frase: ")
    print(frase.replace("s", "$").replace("S", "$"))

def sub_c():
  while True:
    clear_output()
    print("########        Manipulaçao de Strings       ##########")
    print("##---------------------------------------------------##")
    print("## COMANDO     #        MENU                        ##")
    print("##---------------------------------------------------##")
    print("##     1        #    Imprimir frase                  ##")
    print("##     2        #    Solicitar frase                 ##")
    print("##     3        #    Frase em maiisculas             ##")
    print("##     4        #    Frase em minusculas             ##")
    print("##     5        #    Imprimir frase sem espacos      ##")
    print("##     6        #    Frase sem espaços               ##")
    print("##     7        #    Frase sem espacos e minusculas  ##")
    print("##     8        #    Substituir 'e' por 'f'          ##")
    print("##     9        #    Substituir 'a' por '@'          ##")
    print("##    10        #    Substituir 's' por '$'          ##")
    print("##                                                   ##")
    print("##     0        #    Voltar ao Menu Principal        ##")
    print("##================================================== ##")
    com_a = input("INSIRA O COMANDO: > ")
    try:
      com_a_int = int(com_a)
      if com_a_int >= 0 and com_a_int <= 10:
        opcoes = {  "1": imprimir_frase,                "2": solicitar_frase,
                    "3": frase_maiuscula,               "4": frase_minuscula,
                    "5": imprimir_frase_sem_espacos,    "6": frase_sem_espacos,
                    "7": frase_sem_espacos_minuscula,   "8": substituir_vogais_e,
                    "9": substituir_vogais_a,          "10": substituir_consoantes_s}
        funcao = opcoes.get(com_a)
        if funcao:
          funcao()
        b = input("Pressione ENTER para continuar") 
      elif com_a_int == 0 :
        print(">> Finalizando bloco do programa")
        t.sleep(3)
        break
      else :
        b = input("Pressione ENTER para reiniciar bloco do programa > ")
        t.sleep(3)
    except ValueError:
      print(">> Entrada invalida. Finalizando bloco do programa")
      t.sleep(2)
      break
solução!

Boa tarde, Artur! Tudo bem com você?

Obrigado por compartilhar sua forma de resolução com a comunidade Alura. Quando o código for extenso, uma dica é criar um repositório no Github para armazená-lo e deixar o link aqui no campo do fórum. Caso você ainda não saiba subir um projeto para o Github, indico este vídeo de Alura+.

Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!