Pessoal, tenho uma dúvida, tô fazendo um menu de sanduíches, a pessoa digita um número correspondente e o código vai funcionando, porém caso o usuário digitar um número inexiste, eu queria colocar para voltar o menu, como faço?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Pessoal, tenho uma dúvida, tô fazendo um menu de sanduíches, a pessoa digita um número correspondente e o código vai funcionando, porém caso o usuário digitar um número inexiste, eu queria colocar para voltar o menu, como faço?
Fala Matheus, tudo jóia?
Te recomendo a dar um olhada no laço de repetição While, onde o código vai ficar rodando enquanto a condição passada for verdadeira. Por exemplo no seu caso, você tem uma base de dados onde contém 5 diferentes tipos de sanduíches, e pergunta ao usuário qual lanche ele quer conforme a numeração do lanche, nesse caso o nosso cardápio é o seguinte:
1** - X-Frango **2 - X-Bacon 3** - X-Salada **4 - X-Tudo 5 - X-Burger
E no código ficará assim:
cardapio = {1:'X-Frango', 2:'X-Bacon', 3:'X-Salada', 4:'X-Tudo', 5:'X-Burger'}
n = 0
while n == 0:
lanche_solicitado = int(input('Digite o número do lanche em que deseja comer: '))
if lanche_solicitado in cardapio:
print('Pedido aceito! Seu {} ficará pronto em 30 minutos'.format(cardapio[lanche_solicitado]))
break
else:
print("Nos desculpe! Não temos esse lanche em nosso cardápio :(")
continueConsegue perceber que criei uma variável que possui como valor o número zero? É apenas para termos um valor para condicionar no While, percebe também que logo abaixo no while eu disse ao meu programa que enquanto a variável n possuir como valor o número zero que ele continue perguntando ao usuário qual lanche ele quer comer?
E logo abaixo eu disse ao meu programa que se tiver o lanche solicitado pelo usuário na minha base de dados, que ele retorne uma mensagem dizendo que o pedido foi aceito e também o nome do lanche e depois para o código com o break.
Mas se não tiver, que retorne uma mensagem informando ao usuário que não há aquele lanche no cardápio, e que o meu programa deve continuar rodando com o continue.
Espero ter ajudado :)