Second command does not work [closed]

0

I was testing the conditions, but when I use one command and then another, the second is not working.

c=str(input(''))

if c == '/tutorial':
    print('ok, como vc é um hacker vc hackea td por comandos, para saber seus status vc precisa digitar /status')
    print('la vc sabera quanto dinheiro tem, qnt de sabedoria tem,em q lugar vc está e reputação')
    print('para saber oq vc pode hackear digite /hack, de acordo com seu conhecimento vc vai liberando mais coisas para hackear')
    print('de acordo com sua reputação vc é convocado a estudar em outras escolas e de acordo com a escola vc ganha mais pontos de conhecimento')
    print('para estudar utilize o /estudo boa sorte e FALOUUUU')
    c=''
    c = str(input(''))
elif c == '/status':
    print('dinheiro:{}  conhecimento:{}  reputação:{}  lugar onde estar:{}'.format(dinheiro,conhecimento,reputação,lugar))
    c=''
    c = str(input(''))
else:
    print('vc colocou o codigo errado e a policia te achou fim')
    c = str(input(''))
    
asked by anonymous 18.10.2017 / 03:02

1 answer

2

Commands do not work because they are in a if else structure, so only one of the commands will be interpreted. In your example, if you entered soon:

if c == '/tutorial': 

Then you will no longer enter:

elif c == '/status': 

Because that was only if you had not entered /tutorial .

One solution is to change all elif to if to analyze all the commands followed, but you have to do them in order and can not repeat any of them and repeat the command read code several times. It will be better to read the commands in while and just end in a specific case:

c=''

while c!='/sair': #terminar apenas com o comando /sair
    print('qual o comando ?')
    c=str(input(''))

    if c == '/tutorial':
        print('ok, como vc é um hacker vc hackea td por comandos, para saber seus status vc precisa digitar /status')
        print('la vc sabera quanto dinheiro tem, qnt de sabedoria tem,em q lugar vc está e reputação')
        print('para saber oq vc pode hackear digite /hack, de acordo com seu conhecimento vc vai liberando mais coisas para hackear')
        print('de acordo com sua reputação vc é convocado a estudar em outras escolas e de acordo com a escola vc ganha mais pontos de conhecimento')
        print('para estudar utilize o /estudo boa sorte e FALOUUUU')
    elif c == '/status':
        print('dinheiro:{}  conhecimento:{}  reputação:{}  lugar onde estar:{}'.format(dinheiro,conhecimento,reputação,lugar))
    else:
        #pode por break neste else se quiser terminar no primeiro comando inválido
        print('comando invalido')

    c = str(input('')) #voltar a ler outro comando

print('fim do jogo')
    
18.10.2017 / 03:31