Разделенный ввод пространства чтения в Python - PullRequest
15 голосов
/ 03 октября 2011

Вот спецификация ввода
Программа должна прочитать t строк ввода. Каждая строка состоит из двух значений, разделенных пробелами, первое - это имя, а второе - возраст. Пример ввода

Mike 18
Kevin 35
Angel 56

Как прочитать этот тип ввода в Python? Если я использую raw_input (), имя и возраст читаются в одной переменной.

Обновление Я собираюсь уточнить вопрос. Мы уже знаем, как читать форматированный ввод в python. Есть ли способ, которым мы можем прочитать форматированный ввод в Python или нет? Если да, то как?

Ответы [ 6 ]

26 голосов
/ 03 октября 2011
the_string = raw_input()
name, age = the_string.split()
8 голосов
/ 03 октября 2011

Если у вас есть строка, вы можете использовать .split() для их разделения.

>>> for string in ('Mike 18', 'Kevin 35', 'Angel 56'):
...   l = string.split()
...   print repr(l[0]), repr(int(l[1]))
...
'Mike' 18
'Kevin' 35
'Angel' 56
>>>
4 голосов
/ 03 января 2017

Предполагая, что вы находитесь на Python 3, вы можете использовать этот синтаксис

inputs = list(map(str,input().split()))

если вы хотите получить доступ к отдельному элементу, вы можете сделать это так

m, n = map(str,input().split())
2 голосов
/ 11 августа 2017

Вы можете сделать следующее, если вы уже знаете количество полей ввода:

client_name = raw_input("Enter you first and last name: ")
first_name, last_name = client_name.split() 

и если вы хотите перебрать поля, разделенные пробелами, вы можете сделать следующее:

some_input = raw_input() # This input is the value separated by spaces
for field in some_input.split():
    print field # this print can be replaced with any operation you'd like
    #             to perform on the fields.

Более общее использование функции "split ()" будет следующим:

    result_list = some_string.split(DELIMITER)

, где DELIMETER заменяется разделителем, который вы хотите использовать в качестве разделителя, с помощьюодиночные кавычки, окружающие его.

Примером может быть:

    result_string = some_string.split('!')    

Приведенный выше код берет строку и разделяет поля, используя '!'символ в качестве разделителя.

1 голос
/ 28 декабря 2018

Для Python 3 используйте это

  inp = list(map(int,input().split()))
//input => java is a programming language
//return as => ("java","is","a","programming","language")

input () принимает строку из STDIN.

split() разбивает строку о символе пробела и возвращает список строк.

map() передает каждый элемент второго аргумента первому аргументу и возвращает объект карты

Наконец list() преобразует карту в список

0 голосов
/ 26 февраля 2018

Для Python3:

a, b = list(map(str, input().split()))
v = int(b)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...