Problem to show the value in the dictionary that corresponds to the user’s response

Asked

Viewed 57 times

0

bebidas = {'Suco de laranja': 5.99, 'Suco de uva': 5.99, 'Suco de açaí': 5.99, 'Coca Cola(lata)': 6.50, 'Vitamina': 7.50 }
simounão = int(input('Olá, gostaria de ver nosso menu\n\n[1]Sim\n[2]Não\n\n'))
while simounão != 1:
    simounão = int(input('Olá, gostaria de ver nosso menu\n\n[1]Sim\n[2]Não\n\n'))
escolha1 = str(input('Qual suco você deseja?\n\n[ ]Suco de laranja\n[ ]Suco de uva\n[ ]Suco de açaí\n[ ]Coca Cola(lata)\n[ ]Vitamina\n'))
for escolha1 in bebidas:
#Não sei o que colocar dentro do print abaixo, se a resposta da "escolha1" for, por exemplo, Suco de laranja    
    print()
  • Format this question right, please.

1 answer

2


To access a dictionary key use the following syntax:

nomedodicionary[nomedachave]

I improved your code, here it is:

bebidas = {'Suco de laranja': 5.99, 'Suco de uva': 5.99, 'Suco de açaí': 5.99, 'Coca Cola(lata)': 6.50, 'Vitamina': 7.50 }
    while (True):
        sn = int(input('Olá, gostaria de ver nosso menu:\n\n[1]Sim\n[2]Não\n\n'))
        if sn!=1: break
        escolha1 = str(input('Qual suco você deseja?\n\n[1]Suco:'))    
        if escolha1 in bebidas:print(bebidas[escolha1])#acessando o dicionário.
        else: print("Opção não encontrada")

Very important tip to be corrected right now as you are learning to program.

1 - NEVER USE ACCENTS TO NAME VARIABLES.

  • Since I didn’t study loop and repeat structures completely, I only changed what I could understand from their code, and it worked, but the answer kept repeating 5 times.https://repl.it/MQ1g/0

  • 1

    Why are you running a dictionary for? This goes against the principle of the dictionary.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.