una - pedir un numero al usuario en python
Obtenga una lista de nĂºmeros como entrada del usuario (16)
Traté de usar raw_input()
para obtener una lista de números, sin embargo, con el código
numbers = raw_input()
print len(numbers)
la entrada [1,2,3]
da un resultado de 7
, así que supongo que interpreta la entrada como si fuera una cadena. ¿Hay alguna forma directa de hacer una lista? Tal vez podría usar re.findall
para extraer los enteros, pero si es posible, preferiría usar una solución más Pythonic.
En Python 3.x, usa esto.
a = [int(x) for x in input().split()]
Ejemplo
>>> a = [int(x) for x in input().split()]
3 4 5
>>> a
[3, 4, 5]
>>>
Es mucho más fácil analizar una lista de números separados por espacios en lugar de intentar analizar la sintaxis de Python:
Python 3:
s = input()
numbers = list(map(int, s.split()))
Python 2:
s = raw_input()
numbers = map(int, s.split())
La respuesta es trivial. prueba esto.
x=input()
Supongamos que [1,3,5,''aA'',''8as'']
se dan como las entradas
print len(x)
esto da una respuesta de 5
print x[3]
esto da ''aA''
Otra forma podría ser usar el for-loop para este. Digamos que quieres que el usuario ingrese 10 números en una lista llamada "memo"
memo=[]
for i in range (10):
x=int(input("enter no. /n"))
memo.insert(i,x)
i+=1
print(memo)
Prueba esto:
numbers = raw_input()
numberlist = list(numbers)
Puede usar esta función (solo con el tipo 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
Esta función devuelve tu lista (con tipo int)!
Ejemplo:
yourList=raw_inputList("Enter Your List please :")
Si ingresas
"[1,2,3]"
entonces
yourList=[1,2,3]
Puedes usar .split()
numbers = raw_input().split(",")
print len(numbers)
Esto todavía le dará cadenas, pero será una lista de cadenas.
Si necesita asignarlos a un tipo, use la lista de comprensión:
numbers = [int(n, 10) for n in raw_input().split(",")]
print len(numbers)
Si desea ingresar en cualquier tipo de Python y hacer que se asigne automáticamente y confíe en sus usuarios IMPLÍCITAMENTE, entonces puede usar eval
Solo necesita escribir raw_input().split()
y la división predeterminada () es que los valores están divididos por un espacio en blanco.
Todavía puede usar su código, pero tendrá que modificarlo un poco. Puede usar el código para Python 2.9 o menos:
number = raw_input()
print number
Si usa Python 3 o superior, puede usar el código:
number = input()
print number
prueba este,
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
Si el elemento de la lista es solo un número, se ejecutará la instrucción 1 y si se trata de una cadena, se ejecutará la instrucción 2. Al final tendrá una lista l1 según lo necesite.
prueba esto
numbers = raw_input()
a = numbers.split(" ")
puede pasar una representación de cadena de la lista a json:
import json
str_list = raw_input("Enter in a list: ")
my_list = json.loads(str_list)
el usuario ingresa en la lista como lo haría en python: [2, 34, 5.6, 90]
eval(a_string)
evalúa una cadena como código de Python. Obviamente esto no es particularmente seguro. Puede obtener una evaluación más segura (más restringida) utilizando la función literal_eval
del módulo ast
.
raw_input()
se llama así en Python 2.x porque se pone en bruto, no como entrada "interpretada". input()
interpreta la entrada, es decir, es equivalente a eval(raw_input())
.
En Python 3.x, input()
hace lo que raw_input()
solía hacer, y debe evaluar los contenidos manualmente si eso es lo que quiere (es decir, eval(input())
).
a=[]
b=int(input())
for i in range(b):
c=int(input())
a.append(c)
Los fragmentos de código anteriores son un método sencillo para obtener valores del usuario.
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
num = int(input(''Size of elements : ''))
arr = list()
for i in range(num) :
ele = int(input())
arr.append(ele)
print(arr)