Как взять список целых чисел, вводимых непосредственно от пользователя? [Дубликат]

Каждый может использовать указанную ниже андроидную библиотеку, что является самым простым способом сделать размер текста совместимым практически со всеми экранами устройств. Он фактически разработан на основе новых спецификаций конфигурации Android для размера экрана (представлен в Android 3.2) SmallestWidth swdp.

https://github.com/intuit/sdp

35
задан Bhargav Rao 8 June 2016 в 15:29
поделиться

16 ответов

В Python 3.x используйте это.

a = [int(x) for x in input().split()]

Пример

>>> a = [int(x) for x in input().split()]
3 4 5
>>> a
[3, 4, 5]
>>> 
44
ответ дан Amit Joki 26 August 2018 в 09:31
поделиться

Вы все равно можете использовать свой код, но вам нужно немного его подстроить. Вы можете использовать код для python 2.9 или меньше:

number = raw_input()
print number

Если вы используете python 3 или выше, вы можете использовать код:

number = input()
print number
-2
ответ дан 12944 qwerty 26 August 2018 в 09:31
поделиться

вы можете передать строковое представление списка в json:

import json

str_list = raw_input("Enter in a list: ")
my_list = json.loads(str_list)

пользователь входит в список, как в python: [2, 34, 5.6, 90]

0
ответ дан Anthon 26 August 2018 в 09:31
поделиться

Другим способом может быть использование for-loop для этого. Предположим, вы хотите, чтобы пользователь вводил 10 номеров в список с именем «memo»

memo=[] 
for i in range (10):
    x=int(input("enter no. \n")) 
    memo.insert(i,x)
    i+=1
print(memo) 
2
ответ дан Ayan Khan 26 August 2018 в 09:31
поделиться

Ответ тривиален. попробуйте это.

x=input()

Предположим, что [1,3,5,'aA','8as'] заданы как входы

print len(x)

, что дает ответ 5

print x[3]

дает 'aA'

0
ответ дан Hadi 26 August 2018 в 09:31
поделиться

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

numbers = raw_input()
numberlist = list(numbers)
0
ответ дан Hans 26 August 2018 в 09:31
поделиться

Вам просто нужно ввести raw_input().split(), а split split () - это то, что значения разделяются пробелом.

-3
ответ дан Jutta 26 August 2018 в 09:31
поделиться

Вы можете использовать эту функцию (только для типа int);)

def raw_inputList(yourComment):
     listSTR=raw_input(yourComment)     
     listSTR =listSTR[1:len(listSTR)-1]
     listT = listSTR.split(",")
     listEnd=[]
     for caseListT in listT:
          listEnd.append(int(caseListT))
     return listEnd

Эта функция возвращает ваш список (с типом int)!

Пример:

yourList=raw_inputList("Enter Your List please :")

Если вы введете

"[1,2,3]" 

, то

yourList=[1,2,3]          
0
ответ дан Kampai 26 August 2018 в 09:31
поделиться

eval(a_string) оценивает строку как код Python. Очевидно, это не особенно безопасно. Вы можете получить более безопасную (более ограниченную) оценку с помощью функции literal_eval из модуля ast.

raw_input() вызывается, что в Python 2.x, потому что он становится сырым, а не «интерпретируется», вход. input() интерпретирует вход, т. е. эквивалентен eval(raw_input()).

В Python 3.x, input() делает то, что raw_input() использовал, и вы должны оценивать содержимое вручную, если это то, что вы хотите (т.е. eval(input())).

6
ответ дан Karl Knechtel 26 August 2018 в 09:31
поделиться
k = []
i = int(raw_input('enter the number of values in the list '))
l = 0
while l < i:
    p = raw_input('enter the string ')
    k.append(p)
    l= l+1


print "list is ", k
-1
ответ дан nawaz 26 August 2018 в 09:31
поделиться
a=[]
b=int(input())
for i in range(b):
    c=int(input())
    a.append(c)

Вышеприведенные фрагменты кода - это простой способ получить значения от пользователя.

1
ответ дан Nikhil Suresh 26 August 2018 в 09:31
поделиться
num = int(input('Size of elements : '))
arr = list()

for i in range(num) :
  ele  = int(input())
  arr.append(ele)

print(arr)
1
ответ дан rashedcs 26 August 2018 в 09:31
поделиться

Вы можете использовать .split()

numbers = raw_input().split(",")
print len(numbers)

Это все равно даст вам строки, но это будет список строк.

Если вам нужно сопоставить их с type, use list comprehension:

numbers = [int(n, 10) for n in raw_input().split(",")]
print len(numbers)

Если вы хотите иметь возможность вводить любой тип Python и автоматически его сопоставлять, и вы доверяете своим пользователям НЕПРАВИЛЬНО, вы можете использовать eval

4
ответ дан Sean Vieira 26 August 2018 в 09:31
поделиться

Гораздо проще разобрать список чисел, разделенных пробелами, а не пытаться разобрать синтаксис Python:

Python 3:

s = input()
numbers = list(map(int, s.split()))

Python 2:

s = raw_input()
numbers = map(int, s.split())
50
ответ дан Sven Marnach 26 August 2018 в 09:31
поделиться

попробуйте этот,

n=int(raw_input("Enter length of the list"))
l1=[]
for i in range(n):
    a=raw_input()
    if(a.isdigit()):
        l1.insert(i,float(a)) #statement1
    else:
        l1.insert(i,a)        #statement2

Если элемент списка - это просто число, то оператор 1 будет выполнен, а если он является строкой, тогда будет выполняться оператор 2. В конце вы получите список l1 по мере необходимости.

0
ответ дан Tunaki 26 August 2018 в 09:31
поделиться

попробуйте это

numbers = raw_input()
a = numbers.split(" ")
-3
ответ дан UmNyobe 26 August 2018 в 09:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: