Associação de comandos numéricos e frases [RESOLVIDO]

1. Associação de comandos numéricos e frases [RESOLVIDO]

Lordestark
lordestark

(usa Slackware)

Enviado em 29/12/2016 - 21:23h

Olá pessoal, como faço para associar um número ou uma letra (de preferencia uma frase), para executar uma determinada ação (EM PYTHON)????
tipo: (o classico e básico "portugol")

se digitar "1" (executar "Olá mundo")
se digitar "2" (executar "reiniciar sistema")
se digitar "3" ("desligar sistema")
se digitar "host" (listar sistema ou ligar para determinado número)

(tipo um comando pra executar um outro comando (mesmo tendo nada haver), entendeu?
e isso tudo em python
(qual biblioteca usar e quais comandos para associar um ao outro?)
please!!!!preciso de uma direção (to muito tempo sem programar) to noob


  


2. Re: Associação de comandos numéricos e frases

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/12/2016 - 21:36h

Em outras linguagens você usaria o case; em shell, por exemplo:


# A variável "escolha" armazena algum dado previamente entrado pelo usuário
case escolha in
1) echo "Você escolheu a opção #1 ;;
2) echo "Você escolheu a opção #2" ;;
3) echo "Você escolheu a opção #3" ;;
4) echo "Você pediu pra desligar!"; halt ;;
*) echo "Escolha uma opção válida!" ;;
esac



3. Re: Associação de comandos numéricos e frases

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 29/12/2016 - 22:05h

Há vários modos de fazer isso e uma das mais avançadas que conheço é assim:
#!/usr/bin/env python3


def say_hello():
print('hello world.')


def turn_off():
print('turning system off...')


def list_all():
print('Start listing...')

functions = {
'1': say_hello,
'2': turn_off,
'3': list_all
}

if __name__ == '__main__':
print('1 -> Say hello\n'
'2 -> Turn off\n'
'3 -> List all\n')
while True:
option = input('option: ')
function = functions.get(option)
function()


Há outra forma com um monte de if's e else's mas é muito feio kkkk



______________________________________________________________________
OS: Biebian
Kernel: x86_64 3.5.2-amd64
Resolution: 1320x768
CPU: Intel Core i3-4005U CPU @ 1.7GHz
RAM: 3852MiB
Distro: http://biebian.sourceforge.net/


4. Re: Associação de comandos numéricos e frases [RESOLVIDO]

Lordestark
lordestark

(usa Slackware)

Enviado em 30/12/2016 - 11:55h

Pois é.....boas dicas.....mas....eu gostaria de colocar uma frase pra associar a esse comando, tipo:
Se eu digitar halt, ele desliga o sistema certo? Por que não posso colocar pra digitar um numero que vai acontecer isso?
Se eu digitar 1, ele vai desligar o sistema (que seria mais pratico e facil)
É que eu gostaria de fazer isso para dispositivos móveis, tipo o android!
Então eu gostaria de digitar 1 no teclado de chamadas, ae ao invés de ele executar o USSD, ele simplismente desligar o telefone, ou ligar o WIFI, bluetooth e talz....
Tipo isso...tendeu?


5. Re: Associação de comandos numéricos e frases [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/12/2016 - 12:07h

lordestark escreveu:

Pois é.....boas dicas.....mas....eu gostaria de colocar uma frase pra associar a esse comando, tipo:
Se eu digitar halt, ele desliga o sistema certo? Por que não posso colocar pra digitar um numero que vai acontecer isso?
Se eu digitar 1, ele vai desligar o sistema (que seria mais pratico e facil)
É que eu gostaria de fazer isso para dispositivos móveis, tipo o android!
Então eu gostaria de digitar 1 no teclado de chamadas, ae ao invés de ele executar o USSD, ele simplismente desligar o telefone, ou ligar o WIFI, bluetooth e talz....
Tipo isso...tendeu?


Num terminal tradicional você criaria um alias para isso, onde sempre que você digitasse o "1", por exemplo, ele (o terminal) reconheceria como sendo o comando halt.

Não conheço Python, e também não sei como seria possível integrar essa linguagem com o "telefone" do Android, mas a lógica seria essa (apesar de que, com o case, isso também seria possível --> o usuário apertaria o "1" e o script Python detectaria isso)


6. Re: Associação de comandos numéricos e frases

Lordestark
lordestark

(usa Slackware)

Enviado em 30/12/2016 - 13:26h

blz......mas como faço pra ser reconhecido pelo próprio app do Telefone sem ficar abrindo o script pelo terminal (tipo, abrir ele como se fosse um serviço, deixar ele executando em segundo plano, ae fazer tudo pelo app do Telefone, o de chamadas e discagem (o que serve pra ligar))???
Pode ser por mensagem tmb....por USSD!


7. Re: Associação de comandos numéricos e frases [RESOLVIDO]

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 30/12/2016 - 13:29h

Acho que você não entendeu o exemplo que te passei. Ao menos executou? Se sim posso te explicar o que cada coisa faz. Se nem ao menos executou então, boa sorte!





______________________________________________________________________
OS: Biebian
Kernel: x86_64 3.5.2-amd64
Resolution: 1320x768
CPU: Intel Core i3-4005U CPU @ 1.7GHz
RAM: 3852MiB
Distro: http://biebian.sourceforge.net/


8. Re: Associação de comandos numéricos e frases [RESOLVIDO]

Lordestark
lordestark

(usa Slackware)

Enviado em 30/12/2016 - 13:38h

malz ae, eu nem estou em casa ainda, e nem com o celular aqui (então to tentando simular no pc), quando chegar em casa em tento
vlw ae


9. Re: Associação de comandos numéricos e frases [RESOLVIDO]

Lisandro Guerra
Lisandro

(usa Arch Linux)

Enviado em 01/01/2017 - 09:44h

unnslacker escreveu:

Em outras linguagens você usaria o case; em shell, por exemplo:


# A variável "escolha" armazena algum dado previamente entrado pelo usuário
case escolha in
1) echo "Você escolheu a opção #1 ;;
2) echo "Você escolheu a opção #2" ;;
3) echo "Você escolheu a opção #3" ;;
4) echo "Você pediu pra desligar!"; halt ;;
*) echo "Escolha uma opção válida!" ;;
esac

Python não tem case.
Por favor, lista de Python respostas sobre Python. Pode fazer referência a outra linguagem sim, mas referência e não apenas falar dela ok?

Abraço


10. Re: Associação de comandos numéricos e frases

Lisandro Guerra
Lisandro

(usa Arch Linux)

Enviado em 01/01/2017 - 09:47h

lordestark escreveu:

Pois é.....boas dicas.....mas....eu gostaria de colocar uma frase pra associar a esse comando, tipo:
Se eu digitar halt, ele desliga o sistema certo? Por que não posso colocar pra digitar um numero que vai acontecer isso?
Se eu digitar 1, ele vai desligar o sistema (que seria mais pratico e facil)
É que eu gostaria de fazer isso para dispositivos móveis, tipo o android!
Então eu gostaria de digitar 1 no teclado de chamadas, ae ao invés de ele executar o USSD, ele simplismente desligar o telefone, ou ligar o WIFI, bluetooth e talz....
Tipo isso...tendeu?


O código escrito pelo ctw6av ali acima é um bom exemplo, mas se é iniciante talvez fosse interessante você fazer ao menos uma vez com if .. else.
Voltando ao bom código do ctw6av, os locais nas funções (funções são os trechos que começam com def) onde estão os comandos print é onde tu colocarias os teus comandos, inclusive de sistema se quiser, usando as bibliotecas certas é claro.
existem ferramenta específicas para usar Python no Android e algumas outras para criar aplicativos para dispositivos móveis.

Abraço



11. Re: Associação de comandos numéricos e frases

Perfil removido
removido

(usa Nenhuma)

Enviado em 01/01/2017 - 15:11h

Lisandro escreveu:

unnslacker escreveu:

Em outras linguagens você usaria o case; em shell, por exemplo:


# A variável "escolha" armazena algum dado previamente entrado pelo usuário
case escolha in
1) echo "Você escolheu a opção #1 ;;
2) echo "Você escolheu a opção #2" ;;
3) echo "Você escolheu a opção #3" ;;
4) echo "Você pediu pra desligar!"; halt ;;
*) echo "Escolha uma opção válida!" ;;
esac

Python não tem case.
Por favor, lista de Python respostas sobre Python. Pode fazer referência a outra linguagem sim, mas referência e não apenas falar dela ok?

Abraço


Obrigado pelo conselho!
Mas eu disse no meu 2º post que não conheço Python, e usei o Shell (e somente o Shell) para poder exemplificar meu exemplo devido a esta limitação (não conhecer o Python).

Quanto ao case, realmente não sabia que ele não existia no Python! (agradeço aqui também por me avisar, no entanto, eu disse no meu 1º post que "Em outras linguagens você usaria o case", já me precavendo desta possibilidade)


12. Re: Associação de comandos numéricos e frases [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 01/01/2017 - 15:17h

Outrossim, também acredito que qualquer ajuda é válida;
Nada me impede em tentar ajudar alguém com Python só porque não o conheço; programo em outras linguagens, logo, tenho noção de alguma coisa



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts