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')