First let’s analyze the problems. You need to identar your code correctly, is the basis to develop in python!
valor = float(input('Digite um valor em reais: '))
while opção != 2:
print('''[1] Dolar[2] Euro''')
opção = float(input('Digite sua opção: '))
if opção == 1:
calcular = valor * (3.70)
print('R$ {} é {} em dolares'.format(valor, calcular))
elif opção == 2:
calcular = valor * 4.24
print('R$ {} é {} em euros'.format(valor, calcular))
else:
print('Opção invalida')
Now we can see the following:
# Você está verificando o valor de opcao, antes mesmo de iniciá-la!
while opção != 2:
print('''[1] Dolar[2] Euro''')
opção = float(input('Digite sua opção: '))
When you run this code, you will fall into this error:
Traceback (most recent call last):
File "so.py", line 3, in <module>
while opção != 2:
NameError: name 'opção' is not defined
To solve this, you need to initialize this variable with a value!
In doing so, your program will execute correctly ;)
Note that I changed the variable name option by option, since it is not a good practice in any programming language to use variables with Ç, accents, etc.
valor = float(input('Digite um valor em reais: '))
opcao = 0
while opcao != 2:
print('''[1] Dolar[2] Euro''')
opcao = float(input('Digite sua opção: '))
if opcao == 1:
calcular = valor * (3.70)
print('R$ {} é {} em dolares'.format(valor, calcular))
elif opcao == 2:
calcular = valor * 4.24
print('R$ {} é {} em euros'.format(valor, calcular))
else:
print('Opção invalida')
I took the liberty, and added a little validation to the selected option, and added a third option, which is to quit the program
valor = float(input('Digite um valor em reais: '))
opcao = 0
while opcao != 3:
print('''
1 - Dolar
2 - Euro
3 - Sair
''')
entrada = input('Digite sua opção: ')
if entrada:
try:
opcao = int(entrada)
except:
print('Insira uma das opções informadas')
continue
if opcao == 1:
calcular = valor * (3.70)
print('R$ {} é {} em dolares'.format(valor, calcular))
elif opcao == 2:
calcular = valor * 4.24
print('R$ {} é {} em euros'.format(valor, calcular))
elif opcao == 3:
print('Até mais ;)')
else:
print('Opção invalida')
Any questions, just ask.
Big hug ;)
Considering that your code is properly indented, the problem is that you are declared a variable with special characters, such as ç and ã. Always declare variables without accents and without cedilhas, this applies to almost all programming languages.
– user129140
Juu, the indentation of your code is all wrong in the question. Could you tell us if your code is exactly so or if the indentation got wrong just by posting here?
– Woss
@user129140 Not for Python, it accepts stress smoothly.
– Woss