[iniciante] como ler vários valores via teclado numa única linha?

2,105 views
Skip to first unread message

Fabiano Almeida

unread,
May 26, 2015, 2:55:20 PM5/26/15
to python...@googlegroups.com
Boa tarde,

Dando uma olhada em provas passadas da OBI pede entrada de vários valores em uma única linha, eu uso assim:

>>> a,b,c = input()
12, 100, 'texto'


Funciona, mas preciso colocar uma vírgula entre cada valor, e aspas para string. Nos exemplos de entrada da OBI os valores são separados somente por espaço, e no caso de string, sem as aspas.

Como deve ser o comando de entrada para usar como separador espaço ao invés de vírgula? E para não exigir aspas para string?

Grato,

Fabiano.

Diego Garcia

unread,
May 26, 2015, 3:02:37 PM5/26/15
to python-brasil
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Alexandre Souza

unread,
May 26, 2015, 3:10:17 PM5/26/15
to python...@googlegroups.com
Serve?

>>> x = input('Valores: ').split(',')
Valores: foo, bar, 10, 100, python
>>> x
['foo', ' bar', ' 10', ' 100', ' python']
>>>

Obs.: Python3.

[ ]'s

--
-- 
Twitter: @_AleSou || GitHub: alexandre || Reddit: ubbersith
--
[...]o sentido disso tudo é que não há sentido em tentar enlouquecer
para impedir-se de ficar louco...guarde sua sanidade para mais
tarde[...] - Douglas Adams

Alexandre Souza

unread,
May 26, 2015, 3:15:22 PM5/26/15
to python...@googlegroups.com
Li uma parte errado (e li a solução do Diego agora). Mas adicionaria algo como:

>>> result = []
>>> for item in input('Valores: ').split(' '):  # pode ser outro item como ',' também
...     try:
...         item = int(item.strip())
...         result.append(item)
...     except ValueError:
...         result.append(str(item.strip()))
...
Valores: foo, bar, 100, 20, python, dia
>>> result
['foo', 'bar', 100, 20, 'python', 'dia']
>>>


[ ]'s

Fabiano Almeida

unread,
May 26, 2015, 3:30:53 PM5/26/15
to python...@googlegroups.com
Diego e Alexandre, Fantástico! muito obrigado!

Reply all
Reply to author
Forward
0 new messages