Принимая несколько входов от пользователя в python

Я знаю, как сделать один вход от пользователя в python 2.5:

raw_input("enter 1st number")

Это открывает один экран ввода и занимает первое число. Если я хочу сделать второй вход, мне нужно повторить ту же команду и открыть ее в другом диалоговом окне. Как я могу взять два или более входа вместе в том же диалоговом окне, которое открывается так, что:

Enter 1st number:................
enter second number:.............

Ответ 1

Как насчет чего-то подобного?

user_input = raw_input("Enter three numbers separated by commas: ")

input_list = user_input.split(',')
numbers = [float(x.strip()) for x in input_list]

(Возможно, вам тоже понадобится некоторая обработка ошибок)

Ответ 2

Это может оказаться полезным:

a,b=map(int,raw_input().split())

Затем вы можете использовать "a" и "b" отдельно.

Ответ 3

Или, если вы собираете много чисел, используйте цикл

num = []
for i in xrange(1, 10):
    num.append(raw_input('Enter the %s number: '))

print num

Ответ 4

Мое первое впечатление заключалось в том, что вам нужно было запрограммировать командную строку с циклическим пользовательским вводом внутри этой командной строки. (Вложенный пользовательский ввод.) Возможно, это не то, что вы хотели, но я уже написал этот ответ, прежде чем понял это. Итак, я собираюсь опубликовать его, если другие люди (или даже вы) считают это полезным.

Вам просто нужны вложенные циклы с инструкцией ввода на каждом уровне цикла.

Например,

data=""
while 1:
    data=raw_input("Command: ")
    if data in ("test", "experiment", "try"):
        data2=""
        while data2=="":
            data2=raw_input("Which test? ")
        if data2=="chemical":
            print("You chose a chemical test.")
        else:
            print("We don't have any " + data2 + " tests.")
    elif data=="quit":
        break
    else:
        pass

Ответ 5

Вы можете использовать ниже, чтобы использовать несколько входов, разделенных ключевым словом

a,b,c=raw_input("Please enter the age of 3 people in one line using commas\n").split(',')

Ответ 6

Вы можете читать несколько входов в Python 3.x, используя приведенный ниже код, который разбивает входную строку и преобразует ее в целое число, а значения печатаются

user_input = input("Enter Numbers\n").split(',')
#strip is used to remove the white space. Not mandatory
all_numbers = [int(x.strip()) for x in user_input]
for i in all_numbers:
    print(i)

Ответ 7

Python и все остальные императивные языки программирования выполняют одну команду за другой. Поэтому вы можете просто написать:

first  = raw_input('Enter 1st number: ')
second = raw_input('Enter second number: ')

Затем вы можете работать с переменными first и second. Например, вы можете преобразовать строки, хранящиеся в них, в int egers и умножить их:

product = int(first) * int(second)
print('The product of the two is ' + str(product))

Ответ 8

В Python 2 вы можете вводить несколько значений запятой отдельно (как упоминает jcfollower в своем решении). Но если вы хотите сделать это явно, вы можете действовать следующим образом. Я беру несколько входов от пользователей, использующих цикл for и сохраняя их в списке элементов, разбивая их на ','.

items= [x for x in raw_input("Enter your numbers comma separated: ").split(',')]

print items

Ответ 10

  1. a, b, c = input(). split() # для пространственных разделенных входов
  2. a, b, c = input(). split (",") # для разделенных запятыми входов

Ответ 11

Функция разделения разделяет входные данные в соответствии с пробелом.

data = input().split()
name=data[0]
id=data[1]
marks = list(map(datatype, data[2:]))

имя получит первый столбец, идентификатор будет содержать второй столбец и метки будут списком, который будет содержать данные от третьего столбца до последнего столбца.

Ответ 12

Попробуйте следующее:

print ("Enter the Five Numbers with Comma")

k=[x for x in input("Enter Number:").split(',')]

for l in k:
    print (l)

Ответ 13

Как сделать ввод списка. Затем вы можете использовать стандартные операции с списком.

a=list(input("Enter the numbers"))