How do I make some command to go from one option panel to another in python

Asked

Viewed 219 times

0

Like I was doing a deal that had a panel of options that you pick the number and then it goes and runs like

Fazer oque:
1: ir ao mercado
2: ficar em casa
1 (pra ir ao mercado)

then after I chose to go in the market

Você foi ao mercado com 5 reais no bolso.
1: comprar algo
2: voltar pra casa
2
#comando pra voltar pra casa é executado

how do I command to return home, and then execute all the options of home and etc again? How? (I’m new to python so say it in a way I understand)

Code:

    # INICIO DO GAME
import time

time.sleep(3)
dinheiro = 5
acao1 = int(input('\nVocê está em casa. Escolha oque fazer: '
                  '\n1: Ir ao mercado '
                  '\n2: Dispensar o personal trainer e terminar '
                  '\n3: Praticar exercícios'
                  '\n4: Ir ao trabalho\n'))
if acao1 == 1:
    acao_mercado = int(input(
        'Você foi ao mercado com {0} reais no bolso'
        '\n1: Comprar algo'
        '\n2: Voltar pra casa'
        '\n'.format(str(dinheiro))))
    if acao_mercado == 1:
        acao_compra = int(input('Você foi ver oque tem para comprar'
              '\nVai comprar oque?'
              '\n1: Ovo R$2'
              '\n2: Leite R$3'
              '\n3: Banana R$1'
              '\n4: Trigo 1kg R$3'
              '\n5: Margarina R$5'
              '\n6: Açucar 1kg R$3'
              '\n7: Sair do mercado'))
        if acao_compra == 1 and dinheiro >= 2:
            dinheiro = dinheiro - 2
            print('Você comprou um ovo por 2 reais')
            #comando pra voltar pra compra de coisas
        if acao_compra == 2 and dinheiro >= 3:
            dinheiro = dinheiro - 3
            print('Você comprou um leite por 3 reais')
            # comando pra voltar pra compra de coisas
        if acao_compra == 3 and dinheiro >= 1:
            dinheiro = dinheiro - 1
            print('Você comprou uma banana por 1 real')
            # comando pra voltar pra compra de coisas
        if acao_compra == 4 and dinheiro >= 3:
            dinheiro = dinheiro - 3
            print('Você comprou um pacote de trigo por 3 reais')
            # comando pra voltar pra compra de coisas
        if acao_compra == 5 and dinheiro >= 5:
            dinheiro = dinheiro - 5
            print('Você comprou uma margarina por 5 reais')
            # comando pra voltar pra compra de coisas
        if acao_compra == 6 and dinheiro >= 3:
            dinheiro = dinheiro - 3
            print('Você ocmprou um pacote de açucar por 3 reais')
            # comando pra voltar pra compra de coisas
        if acao_compra == 7:
            #comando pra sair do mercado
    #if acao_mercado == 2:
        #comando para voltar pra casa
  • How are you implementing this, is it through functions? If it is, you can simply give a 'Return' to exit the current function and return to the previous one.

  • I just made the code to go to the market, then look what you have to buy, and to buy an egg, then he takes 2 real of the variable money. was all done with variables and if and print, no function (I think)

  • Could you please edit your question and enter the code you have made so far? So we can help you better.

  • ready put

  • Don’t put code as an image. Not only is it hard to see on a mobile device, you can’t even test if you type it all in again. Always put code as text by formatting it correctly in the question editor

  • I got him fixed up

Show 1 more comment

2 answers

0

You can do something like this:

dinheiro = 10
a = int(input("digite sua opcao aqui: "))# nessa linha voce captura a opcaoo do usuario garante que a variavel sera do tipo int e exibe na tela o texto entre aspas.
if(a==1):
  dinheiro=dinheiro-5 # aqui armazena o valor na sua variavel dinheiro você tambem pode fazer dinheiro -= 5 que faz a mesma coisa escolha um que prefira
  print("-5")
elif():
  print("opcao 2 ")
elif():
  print("opcao 3")
else:
  print("opcao invalida")

b = int(input("outra escolha:"))
if(b==2):
 print(dinheiro)

  • yes I did it, but only serve to go, for example option 1 : enter the market, ok I selected it, now I am in the market but and if I want to leave the market, back there where was the option 1 enter the market

0


I wrote a very simple code, just to show you an idea of implementation using functions.
Notice I’m using the block while within the functions to keep asking the option and not leave the function right away. You can try to implement this without the while and see the result (without the while the code is only executed once).
I didn’t put any kind of security check to capture exceptions if the user inserts a letter instead of a number, it’s really quite simple.
The main() is the main function of your program.

dinheiro = 5
# Função chamada quando você entra no mercado
def mercado():
    print('Você foi ao mercado com {} reais no bolso'.format(dinheiro))
    while True:
        acao = int(input('O que você deseja?\n'
        '1: Comprar algo\n'
        '2: Voltar para casa'))
        if acao == 1:
            ver_produtos()
        elif acao == 2:
            return   # Aqui volta para a função anterior.
# Esta função mostra os produtos que você pode comprar
def ver_produtos():
    while True:
        acao = int(input('O que quer comprar?\n'
        '1: Ovo R$2\n'
        'Pode colocar outros produtos aqui...\n'
        '7: Sair do mercado'))
        if acao == 1:
            print('Implemente isso aqui')
        elif acao == 7:
            return   # Volta para a função do mercado.
        else:
            print('Esse produto está em falta!')
# Função chamada na opção 3 do menu principal.
def exercitar():
    print('Você fez vários exercícios!')
# Esta é a função do menu principal do programa.
def main():
    while True:
        acao = int(input('Você está em casa, o que deseja fazer?\n'
        '1: Ir ao mercado\n'
        '2: Sair\n'
        '3: Praticar exercícios\n'))
        if acao == 1:
            mercado()   # Vai para a função do mercado.
        elif acao == 2:
            break   # Sai do while
        elif acao == 3:
            exercitar()   # Faz os exercicios.
    print('Até a próxima!')   # Cai aqui quando sai do while.
# Chama a função principal do seu programa.
main()

Take a look at this code, I think you can implement what you want from this.
I hope I helped you! D

  • What is the point of "while True: after def? I understood everything but this.

  • To stay in repetition, as you are learning, it is worth taking a look here: https://www.youtube.com/watch?v=LH6OIn2lBaI

Browser other questions tagged

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