1
resposta

[Projeto] Resolução Programa 10

Uni alguns desafios diferentes com alguns conhecimentos prévios para incrementar o programa solicitado no 10:

#Programa 10
#Escolha a operação e realiza com infinitos valores inputados
def Soma(a, b):
  return a + b

def Subtracao( a, b):
  return a - b

def Multiplicacao(a, b):
  return a * b

def Divisão(a, b):
  if b == 0:
    return 'Erro'
  else:
    return a / b

def Operacao(a, num_1, num_2):
  if a == '+':
    return Soma(num_1, num_2)

  elif a == '-':
    return Subtracao(num_1, num_2)

  elif a == '*':
    return Multiplicacao(num_1, num_2)

  elif a == '/':
    return Divisão(num_1, num_2)

  else:
    return 'Erro'

def Equacao(numeros, operacoes):
  texto = ''
  for i in range(len(operacoes)):
    texto = texto + '('
  texto += str(numeros[0])
  for i in range(len(operacoes)):
    texto += f" {operacoes[i]} {numeros[i+1]})"
  return texto

def ParImpar(a):
  if int(a)%2 == 0:
    return "Par"
  else:
    return "Impar"

def PosNeg(a):
  if a >= 0:
    return "Positivo"
  else:
    return "Negativo"

def IntDec(a):
  if a == int(a):
    return "Inteiro"
  else:
    return "Decimal" 


num_1 = float(input(f'Digite a 1º numero: '))
operacao = input('Digite a operação que deseja realizar \n+ \tSoma \n- \tSubtração \n* \tMultiplicação \n/ \tDivisão \n')
num_2 = float(input('Digite a 2º numero: '))
lista_numeros = [num_1, num_2]
lista_operacoes = [operacao]
resultado = 0

resultado = Operacao(operacao, num_1, num_2)

if type(resultado) == str:
  print('Erro!')

else:
  escolha = input('Digite = para obter o resultado ou c para continuar realizando operações: ')
  if escolha == '=':
    print(f'O resultado da equação {Equacao(lista_numeros, lista_operacoes)} é: {resultado}')
    print(f'O número {resultado} é: {ParImpar(resultado)}, {PosNeg(resultado)} e {IntDec(resultado)}')

  elif escolha == 'c':
    #Aqui precisa entrar em um ciclo
    encerrar_ciclo = False
    i = 3 #Contador de parcelas
    while not encerrar_ciclo:
      print(f'O resultado parcial é: {resultado}')
      operacao = input('Digite a operação que deseja realizar com o resultado parcial acima \n+ \tSoma \n- \tSubtração \n* \tMultiplicação \n/ \tDivisão \n')
      lista_operacoes.append(operacao)
      novo_num = float(input(f'Digite a {i}º número: '))
      lista_numeros.append(novo_num)
      resultado = Operacao(operacao, resultado, novo_num)
      if type(resultado) == str:
        print('Erro!')
        break
      else:
        escolha = input('Digite = para obter o resultado ou c para continuar realizando operações: ')
        if escolha =='=':
          encerrar_ciclo = True
          print(f'O resultado da equação {Equacao(lista_numeros, lista_operacoes)} é: {resultado}')
          print(f'O número {resultado} é: {ParImpar(resultado)}, {PosNeg(resultado)} e {IntDec(resultado)}')

        elif escolha == 'c':
          i += 1
          encerrar_ciclo = False

        else:
          print('Erro na escolha! Programa encerrado')
          encerrar_ciclo = True

  else:
    print('Programa encerrado')
1 resposta

Olá Raissa, tudo bem?

Muito obrigada por compartilhar seu código no fórum! Gostei bastante da maneira como você estruturou as funções para cada operação e a integração das verificações de paridade, sinal e tipo de número no final do programa. Isso torna o seu código mais modular e fácil de entender.

Continue assim, seu progresso está excelente!

Se precisar de mais alguma coisa, estou por aqui.