Creating a program in Python

-2

Hello, I'm not very good at programming, and I'm having a hard time at this exercise, I've already tried it and I can not solve it ... I would like someone to help me redo this code. Since I thank you, who can help me

Create a program that reads a value in reais and converts to dollar and euro. Need to set the value of each currency

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.24print('R$ {} é {} em euros'.format(valor, calcular))
else:
print('Opção invalida')
    
asked by anonymous 24.10.2018 / 03:57

2 answers

1

First let's look at the problems. You need to indent your code correctly, it's the foundation for developing 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!

Doing this, your program will run correctly;) Note that I changed the variable name option by option, since it is not 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 I added a small validation for the selected option, and I added a third option, which is to exit 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;)

    
24.10.2018 / 17:02
-1

You are using accents in variables. Do not start variables with capital letters or special characters, if you have to use 2 words in a variable use nome_grande or nomeGrande and never use accents.

Use \ n to skip line:

print('--------\n[1] Dolar\n[2] Euro\n[0] Sair\n--------')

Your while is: as long as it is different from 2 continue. I created a variable called question and assign it the value True of type boolean , while the value is True its While will be running.

I added:

elif opcao == 0:
    # opcap for 0(ZERO) pergunta = False, While vai parar
    pergunta = False

When option is equal to zero:

The variable pergunta will get the False value and will stop its While.

# inicie o While como True
pergunta = True
valor = float(input('Digite um valor em reais: '))
#  Enquanto pergunta for True(Verdadeira) o While vai funcionar
while pergunta:
    print('--------\n[1] Dolar\n[2] Euro\n[0] Sair\n--------')
    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))
    elif opcao == 0:
        # Opção for 0(ZERO) opcao = False, While vai parar
        pergunta = False
    else:
        print('Opção invalida')
    
24.10.2018 / 06:50