Olá pessoal, qual é o código python para eu mover algum objeto ou
acessar outro menu sem precisar apertar por ex.: 1 e enter para entrar
em um menu.
desde ja agradeço pela ajuda.
Que menu? Que objeto? especifique melhor, por favor. E coloque um
exemplo de seu código também para facilitar as respostas.
--
Paul Eipper
Em 28/07/07, soldadomecatronico<esdras-tito@hotmail.com> escreveu:
> Olá pessoal, qual é o código python para eu mover algum objeto ou
> acessar outro menu sem precisar apertar por ex.: 1 e enter para entrar
> em um menu.
> desde ja agradeço pela ajuda.
>
>
>
> ,----------------------------------------------------------.
> | Antes de enviar um e-mail para o grupo leia: |
> | http://www.pythonbrasil.com.br/moin.cgi/AntesDePerguntar |
> | E se você é usuário do BOL lembre-se de cadastrar o |
> | e-mail do grupo na lista branca do seu sistema anti-spam. |
> `----------------------------------------------------------´
> Links do Yahoo! Grupos
>
>
>
Menu1
========
1: jogar
2: sair
========
quando eu apertar a '*tecla 1' ele vai diretamente a outra parte do
código(menu2).
* ao invez d apertar 1 e enter, eu quero somente apertar a 'tecla 1'
para ele ir para o outro código(menu2).
se não der para entender é só falar q eu vo tntar explicar o melhor
e o mais simples possivel.
menu2
=================
1: configurações
2: voltar
=================
--- Em python-brasil@yahoogrupos.com.br, "Paul Eipper"
<lkraider@...> escreveu
>
> Que menu? Que objeto? especifique melhor, por favor. E coloque um
> exemplo de seu código também para facilitar as respostas.
>
> --
> Paul Eipper
>
> Em 28/07/07, soldadomecatronico<esdras-tito@...> escreveu:
Opa,
On 7/28/07, soldadomecatronico <esdras-tito@hotmail.com> wrote:
> Menu1
> ========
> 1: jogar
> 2: sair
> ========
> quando eu apertar a '*tecla 1' ele vai diretamente a outra parte do
> código(menu2).
> * ao invez d apertar 1 e enter, eu quero somente apertar a 'tecla 1'
> para ele ir para o outro código(menu2).
Pra isso você precisa dar uma olhada na biblioteca curses.
Em [1] tem muita informação e no google tem bastante coisa (em ingles :P) :)
[1] http://www.amk.ca/python/howto/curses/
[]'s,
--
Bruno Fialho Marques Gola <brunogola@gmail.com>
http://www.brunogola.com.br
Cel: (11) 9294-5883
Olá soldadomecatronico[*],
Fazer isso não é muito simples, pois é feito de maneira diferente
dependendo do sistema operacional. Veja abaixo:
* no windows
import msvcrt
def getchar():
return msvcrt.getch()
* no linux
import termios, sys
def getchar():
fd = sys.stdin.fileno()
old = termios.tcgetattr(fd)
new = old[:]
new[3] = new[3] & ~termios.ICANON & ~termios.ECHO
new[6] [termios.VMIN] = 1
new[6] [termios.VTIME] = 0
try:
termios.tcsetattr(fd, termios.TCSANOW, new)
termios.tcsendbreak(fd,0)
ch = os.read(fd,7)
finally:
termios.tcsetattr(fd, termios.TCSAFLUSH, old)
return ch
[*] É boa prática assinar seu nome no fim da mensagem para que as
pessoas saibam como te chamar.
Abraços,
-- Nilton
On 7/28/07, soldadomecatronico <esdras-tito@hotmail.com> wrote:
Sr Nilton, valeu mais naum consegui entender c vc puder simplificar
mais para mim eu agradeço. O SO é Windows...ai agora fica mais
facil. Eu procurei sobre o assunto no google mais não encontrei!
valeu, Esdras!
--- Em python-brasil@yahoogrupos.com.br, "Nilton Volpato"
<nilton.volpato@...> escreveu
> On 7/28/07, soldadomecatronico <esdras-tito@...> wrote:
> > Menu1
> > ========
> > 1: jogar
> > 2: sair
> > ========
> > quando eu apertar a '*tecla 1' ele vai diretamente a outra parte
do
> > código(menu2).
> > * ao invez d apertar 1 e enter, eu quero somente apertar
a 'tecla 1'
> > para ele ir para o outro código(menu2).
> > se não der para entender é só falar q eu vo tntar explicar o
melhor
> > e o mais simples possivel.
> >
> > menu2
> > =================
> > 1: configurações
> > 2: voltar
> > =================
> >
> >
> >
> > --- Em python-brasil@yahoogrupos.com.br, "Paul Eipper"
> > <lkraider@> escreveu
> > >
> > > Que menu? Que objeto? especifique melhor, por favor. E coloque
um
> > > exemplo de seu código também para facilitar as respostas.
> > >
> > > --
> > > Paul Eipper
> > >
> > > Em 28/07/07, soldadomecatronico<esdras-tito@> escreveu:
No Windows voce deve olhar a lib msvcrt, principalmente o método getch.
Procura no google por msvcrt.getch
mas o exemplo do Nilton foi o seguinte:
import msvcrt
def pega_char():
print "1 - bla\n2 - ble"
c = msvcrt.getch()
[]'s,
On 7/30/07, soldadomecatronico <esdras-tito@hotmail.com> wrote:
>
> Sr Nilton, valeu mais naum consegui entender c vc puder simplificar
> mais para mim eu agradeço. O SO é Windows...ai agora fica mais
> facil. Eu procurei sobre o assunto no google mais não encontrei!
>
> valeu, Esdras!
>
> --- Em python-brasil@yahoogrupos.com.br<python-brasil%40yahoogrupos.com.br>,
> > > --- Em python-brasil@yahoogrupos.com.br<python-brasil%40yahoogrupos.com.br>,
--
Bruno Fialho Marques Gola <brunogola@gmail.com>
http://www.brunogola.com.br
Cel: (11) 9294-5883
[As partes desta mensagem que não continham texto foram removidas]
Esdras,
On 7/30/07, soldadomecatronico <esdras-tito@hotmail.com> wrote:
> Sr Nilton, valeu mais naum consegui entender c vc puder simplificar
> mais para mim eu agradeço. O SO é Windows...ai agora fica mais
> facil. Eu procurei sobre o assunto no google mais não encontrei!
Já que você está usando windows é só usar o primeiro método.
Coloque:
import msvcrt
no início do seu programa. E depois em algum momento, imagino eu, você
deva estar usando raw_input() para ler a opção escolhida no menu. Daí
é só trocar:
opcao = raw_input()
por
opcao = msvcrt.getch()
Mas note que essa função só lê um caractere da entrada e já retorna.
Se mesmo assim ainda estiver complicado, sugiro que você continue
usando o método mais simples até se familiarizar e se sentir mais
confortável com os conceitos de programação.
Abraço,
-- Nilton
Nilton,
eu entedi sim, obrigado pela ajuda...só estou com um probleminha.
quais são os números que escrevo dentro dos (). Eu sei que
opcao = msvcrt(13) é = tecla return/ENTER, (27) é = tecla escape/ESC.
eu gostaria de saber quais são as outras teclas eu não sei os
números. Se você poder me passar os números de cada tecla...!
ja agradecido, Esdras.
--- Em python-brasil@yahoogrupos.com.br, "Nilton Volpato"
<nilton.volpato@...> escreveu
>
> Esdras,
> > <nilton.volpato@> escreveu
Nilton,
eu entendi sim, veja os pontos em *.
ai vai o código q estou usando:
import msvcrt
print 'use as telcas F9, ENTER e ESC'
print 'aperte esc para sair'
a=0
while 1:
char = msvcrt.getch()
if char == chr(27):
print '27 = voce apertou a tecla escape/ESC'
break
if char == chr(13):
print '13 = voce apertou a tecla ENTER/return'
if char == chr(0):
print '0 = voce apertou alguma tecla de F1 a F10'
em if char == *chr()*
*chr() dentro destas deve conter um numero como no código acima.
é sobre esses números que estou em dúvida...quais são e que teclas
elas representão.
ja agradecido, Esdras.
--- Em python-brasil@yahoogrupos.com.br, "Nilton Volpato"
<nilton.volpato@...> escreveu
>
> Esdras,
> > <nilton.volpato@> escreveu
> Se você poder me passar os números de cada tecla...!
http://pt.wikipedia.org/wiki/ASCII
[]
Binho
Esdras,
Você deveria fazer assim:
import msvcrt
while 1:
print '--- Menu ---'
print '1 - Alguma coisa'
print '2 - Outra coisa'
print '3 - Sair'
op = msvcrt.getch()
if op == '1':
print 'Voce escolheu alguma coisa'
elif op == '2':
print 'Voce escolheu outra coisa'
elif op == '3':
print 'Até logo'
break
else:
print 'Opção desconhecida'
Dicas:
* Você pode^H^H^H^H deve usar o interpretador interativo do python e
fazer alguns testes lá para ver como funciona. Teste a função
msvcrt.getch(), e outras idéias que você quiser experimentar.
Aproveite-o, pois nem toda linguagem tem a vantagem de possuir um
interpretador interativo! Já dá para resolver a maioria dos problemas
só usando ele.
* Recomendo seguir um dos vários tutoriais disponíveis do começo ao
fim em detalhes. No final você vai possuir uma base para poder fazer
muito mais (e melhor) do que agora. Escolha um tutorial aqui [1].
Muitos gostam desse [2] do Luciano Ramalho.
* É normal ter dúvidas sobre cada detalhe quando se está começando a
programar. A melhor maneira de aprender com isso é aprendendo sozinho
como resolver os problemas, utilizando boas referências,
experimentando (veja a dica anterior) e olhando na documentação (a
documentação oficial já é muito boa [3] e [4]). Pois chega um momento
em que não adianta perguntar, pois ninguém vai saber responder aquela
sua dúvida. Nesse momento você vai estar no estado-da-arte daquele
específico ramo do conhecimento e vai precisar descobrir como ou o que
fazer sozinho.
[1] http://www.pythonbrasil.com.br/moin.cgi/DocumentacaoPython
[2] http://www.pythonbrasil.com.br/moin.cgi/AprendaProgramar
[3] http://docs.python.org/lib/lib.html
[4] http://effbot.org/librarybook/ (outra referência para a biblioteca
padrão, com exemplos)
Abraço,
-- Nilton