## Recommended Posts

Fiz uma calculadora simples com Python usando o seguinte código:

numero_1 = input('Digite um número que deseja somar, subtrair, multiplicar, dividir ou elevar: ')
numero_2 = input('Digite o outro número da operação ')
sinal = input('Digite o sinal que deseja efetuar o cálculo (+  -  *  ou  /), se quiser uma exponencial, digite **: ')

if sinal is '**':
if sinal is '*':
if sinal is '/':
if sinal is '+':
if sinal is '-':

print(f'O resultado da operação {numero_1} {sinal} {numero_2} é igual à {resultado}' )

As funções de soma, subtração. divisão e multiplicação deram certo, mas quando tento usar a de expoente, recebo a seguinte mensagem:

Traceback (most recent call last):
File "c:\Users\mathe\repositories_git\MasterBlasterM\MasterBlasterM\Arquivos Python\Calculadora.py", line 19, in <module>
print(f'O resultado da operação {numero_1} {sinal} {numero_2} é igual à {resultado}' )
^^^^^^^^^
NameError: name 'resultado' is not defined

Porque isso está acontecendo e qual seria a forma correta de adicionar essa função à calculadora?

##### Share on other sites

Olá Matheus o erro pode estar  acontece porque a variável 'resultado' não foi inicializada antes de ser usada no print  Uma opção para corrigir isso, seria inicializá-la como None antes de todas as condições e, em seguida, atribuir o resultado da operação dentro das condições. Aqui está a forma sugerida para corrigida do código:

```numero_1 = input('Digite um número que deseja somar, subtrair, multiplicar, dividir ou elevar: ')
numero_2 = input('Digite o outro número da operação ')
sinal = input('Digite o sinal que deseja efetuar o cálculo (+  -  *  ou  /), se quiser uma exponencial, digite **: ')

if sinal is '**':
if sinal is '*':
if sinal is '/':
if sinal is '+':
if sinal is '-':

print(f'O resultado da operação {numero_1} {sinal} {numero_2} é igual à {resultado}' )```

##### Share on other sites

Fala Matheus tudo bom ?

Encontrei a solução para o exponencial.

A comparação "is" verifica se duas variáveis apontam para o mesmo objeto na memória, enquanto a comparação "==" verifica se duas variáveis possuem o mesmo valor. Então, a comparação correta seria: "if sinal ==

```numero_1 = input('Digite um número que deseja somar, subtrair, multiplicar, dividir ou elevar: ')
numero_2 = input('Digite o outro número da operação ')
sinal = input('Digite o sinal que deseja efetuar o cálculo (+  -  *  ou  /), se quiser uma exponencial, digite **: ')

if sinal == '**':
if sinal is '*':
if sinal is '/':
if sinal is '+':
if sinal is '-':

print(f'O resultado da operação {numero_1} {sinal} {numero_2} é igual à {resultado}' )```

Digite um número que deseja somar, subtrair, multiplicar, dividir ou elevar: 5
Digite o outro número da operação 5
Digite o sinal que deseja efetuar o cálculo (+  -  *  ou  /), se quiser uma exponencial, digite **: **
O resultado da operação 5 ** 5 é igual à 3125

## Create an account

Register a new account

• ### Similar Content

• #### Ler arquivos em um diretório

By sirsmart,

• 5 replies
• 58 views
• #### Acrescentando dados no dataframe

By sirsmart,

• 38 views
• #### Problema na Exibição da Tempera Simulada no Programa Python

By Jbosco80,

• 0 replies
• 41 views
• #### Expansão Botão Python

By MTL,

• 3 replies
• 90 views
• #### Normalizar Json

By sirsmart,

• 2 replies
• 56 views

• ### Upcoming Events

• 0
16 November 2023 03:00 AM
Until
15 December 2023 03:00 AM

• 0
11 December 2023
• 0
01 January 2024
• 0
01 January 2024
• ### Member Statistics

• Total Members
14,820
• Most Online
2,446

Joined
×
• Início

• Clubs

• Events

• #### Browse

×
• Create New...