Eu gostaria de ler dados do teclado em python
Eu tento isso:
nb = input('Choose a number')
print ('Number%s \n' % (nb))
Mas não funciona, nem com eclipse nem no terminal, é sempre o ponto final da questão. Eu posso digitar um número, mas depois que nada acontece.
Você sabe por quê?
Respostas:
experimentar
e se você quiser ter um valor numérico, apenas converta-o:
fonte
Parece que você está misturando Pythons diferentes aqui (Python 2.x vs. Python 3.x) ... Isso é basicamente correto:
O problema é que ele é suportado apenas no Python 3. Como o @sharpner respondeu, para versões mais antigas do Python (2.x), você deve usar a função
raw_input
:Se você deseja converter isso em um número, tente:
... embora você precise levar em consideração que isso pode gerar uma exceção:
E se você deseja imprimir o número usando a formatação,
str.format()
recomenda-se no Python 3 :Ao invés de:
Mas ambas as opções (
str.format()
e%
) funcionam no Python 2.7 e no Python 3.fonte
space
sequência depois da string para que o usuário insira sua entrada se houver paz.Enter Tel12340404
vsEnter Tel: 12340404
. Vejo! : PExemplo multi-thread sem bloqueio:
Como bloquear a entrada do teclado (já que os
input()
blocos de funções) freqüentemente não é o que queremos fazer (gostaríamos de continuar fazendo outras coisas), aqui está um exemplo multithread muito simplificado para demonstrar como continuar executando seu aplicativo principal enquanto ainda lê as entradas do teclado sempre que chegam .Isso funciona criando um encadeamento para execução em segundo plano, chamando continuamente
input()
e passando os dados que recebe para uma fila.Dessa maneira, seu segmento principal fica para fazer o que quiser, recebendo os dados de entrada do teclado do primeiro segmento sempre que houver algo na fila.
1. Exemplo de código Bare Python 3 (sem comentários):
2. O mesmo código Python 3 como acima, mas com extensos comentários explicativos:
Saída de amostra:
Referências:
Relacionado / com ligação cruzada:
fonte
input([prompt])
é equivalenteeval(raw_input(prompt))
e está disponível desde o python 2.6Como não é seguro (por causa da avaliação), raw_input deve ser preferido para aplicativos críticos.
fonte
raw_input
foi renomeado parainput
e NÃO avalia.Isso deve funcionar
fonte
input()
?