2
respostas

Dúvida no exercício 10

olá pessoas!

meu projeto deu tudo certo... até que, testando as operações me deparei com esse problema:

n1 = float(input('escolha um número: '))
n2 = float(input('escolha outro número: '))
operation = input('qual operação você gostaria de fazer com os 2 números? Somar (+), subtrair (-), multiplicar(*) ou dividir(/)?: ')

if operation == '+':
  result = n1 + n2
elif operation == '-':
  result = n1 - n2
elif operation == '*':
  result = n1 * n2
elif operation == '/':
  result = n1 / n2
else:
  print('operação inválida!')
  result = 0

if result % 1 == 0:
  print('o resultado da operação é %d, que é um número inteiro.' %(result))
else:
  print('o resultado da operação é %.2f, que é um número decimal.' %(result))

if result > 0:
  print('o resultado é positivo.')
elif result == 0:
  print('o resultado é neutro.')
else:
  print('o resultado é negativo.')

if result % 2 == 0:
  print('o resultado é um número par.')
else:
  print('o resultado é um número ímpar.')

escolha de números:

escolha um número: 72

escolha outro número: 2.5

qual operação você gostaria de fazer com os 2 números? Somar (+), subtrair (-), multiplicar(*) ou dividir(/)?: /

o resultado da operação é 28.80, que é um número decimal.

o resultado é positivo.

o resultado é um número ímpar.

28.80 é um número decimal - OK

28.80 é um número positivo - OK

28.80 é um número ímpar - aqui que eu teria de mudar a mensagem

números decimais não são classificados como par ou ímpar.

como acrescento essa mensagem acima caso o resultado for um número decimal???

valeu!!! :D

2 respostas

Essa é minha primeira resposta em algum fórum e aprendi muito com a sua pergunta pois fui atrás para entender e poder achar um método que eu faria.

Nesta parte do seu código:

if result % 2 == 0:
  print('o resultado é um número par.')
else:
  print('o resultado é um número ímpar.')

Eu trocaria por este código (reaproveitando a mesma lógica do seu código acima para saber se é decimal ou não

if result % 1 != 0:
    print('Números decimais não se caracterizam em par ou impar')
elif result % 2 == 0:
  print('o resultado é um número par.')
else:
  print('o resultado é um número ímpar.')

Testei aqui e aparentemente dá certo!

Flaviano, valeu maninho!!!!! muito assertiva sua resposta!!! brigadão! :D