What's wrong? I use PyCharm

-3
def par_ou_impar(result):
    divided = str(result).split('.')
    if len(divided) < 2:
        if divided[0] % 2 == 0:
            print('O resultado é par')
        else:
            print('O resultado é ímpar')
    if int(divided[1]) % 2 == 0:
        print('O resultado é par')
    else:
        print('O resultado é ímpar')


is_float = True

try:
    numero1 = float(input('Digite o primeiro número:'))
except Exception:
    is_float = False

while not is_float:
    print('Favor digitar um número válido')
    try:
        numero1 = float(input('Digite o primeiro número:'))
        is_float = True
    except Exception:
        is_float = False

is_float = True

try:
    numero2 = float(input('Digite o segundo número:'))
except Exception:
    is_float = False

while not is_float:
    print('Favor digitar um número válido')
    try:
        numero2 = float(input('Digite o segundo número:'))
        is_float = True
    except Exception:
        is_float = False

print('Info.: Número1 () Número2')
print('1 para soma')
print('2 para subtração')
print('3 para multiplicação')
print('4 para divisão')

is_int = True

try:
    operacao = int(input('Digite a operação que você quer realizar:'))
    if 5 > operacao > 0:
        is_int = True
    else:
        is_float = False
except Exception:
    is_int = False

while not is_int:
    print('Favor digitar um valor válido inteiro')
    try:
        operacao = int(input('Digite a operação que você quer realizar:'))
        if 5 > operacao > 0:
            is_float = True
        else:
            is_float = False
    except Exception:
        is_int = False

if operacao == 1:
    result = numero1 + numero2
elif operacao == 2:
    result = numero1 - numero2
elif operacao == 3:
    result = numero1 * numero2
elif operacao == 4:
    result = numero1 / numero2

if result % int(result) == 0:
    print('O resultado é:', int(result))
else:
    print('O resultado é:', result)

if result >= 0:
    print('O resultado é positivo')
else:
    print('O resultado é negativo')

if round(result) == result:
    print('O resultado é inteiro')
else:
    print('O resultado é decimal')

par_ou_impar(result)

You're giving this error:

Digite o primeiro número:2
Digite o segundo número:3
Info.: Número1 () Número2
1 para soma
2 para subtração
3 para multiplicação
4 para divisão
Digite a operação que você quer realizar:6
Traceback (most recent call last):
  File "C:/Users/AppsTo/PycharmProjects/EstruturaDeDecisão/Exec24.py", line 81, in <module>
    if result % int(result) == 0:
NameError: name 'result' is not defined

Process finished with exit code 1

But you should not get the result if operacao is not working.

    
asked by anonymous 11.04.2018 / 18:37

1 answer

-1

I do not know if this will affect other parts but try to do so.

is_int = True

try:
    operacao = int(input('Digite a operação que você quer realizar:'))
    if 5 > operacao > 0:
        is_int = True
    else:
        is_int = False
except Exception:
    is_int = False

while not is_int:
    print('Favor digitar um valor válido inteiro')
    try:
        operacao = int(input('Digite a operação que você quer realizar:'))
        if 5 > operacao > 0:
            is_int = True
        else:
            is_int = False

    except Exception:
        is_int = False
    
12.04.2018 / 16:50