2015-03-31 14 views
5

Ehi ragazzi c'è comunque da chiedere l'input dell'utente e trasformare il loro input in una lista, una tupla o una stringa? Voglio una serie di numeri da inserire in una matrice. Potrei dire loro di digitare tutti i numeri nella console senza spazi e scorrere attraverso di essi ma ci sono altri modi per farlo?Python - Trasformare l'input dell'utente in una lista

risposta

6

Si può semplicemente fare come segue:

user_input = input("Please provide list of numbers separated by comma, e.g. 1,2,3: ") 

a_list = list(map(float,user_input.split(','))) 
print(a_list) 
# example result: [1, 2, 3] 
+0

grazie. Oggi ho appena imparato a conoscere le mappe, quindi non pensavo di usarlo –

+0

dovrei davvero usare una prova/eccetto durante il casting, ci sono molti modi in cui questo solleverà un errore –

+0

Ti consiglierei anche di separare gli elementi in base agli spazi e usando semplicemente '.split() 'perché gestisce più spazi tra gli elementi automaticamente. Ad esempio: '1 2 3 4 5'.split() '->' [' 1 ',' 2 ',' 3 ',' 4 ',' 5 '] ' – martineau

2

NumPy supporta definizioni di stile MATLAB matrice se si sta utilizzando:

import numpy as np 
s = raw_input('Enter the matrix:') 
matrix = np.matrix(s) 

esempio

Enter the matrix:1 2 3; 4 5 3 

imposta i matrix a:

matrix([[1, 2, 3], 
     [4, 5, 3]]) 

registrazioni distinte su ogni riga da spazi e righe da virgola.

0

se si vuole avere un elenco che inserisce automaticamente una virgola ogni volta che trova uno spazio tra i numeri usano questo:

query=input("enter a bunch of numbers: ") 
a_list = list(map(int,query.split())) 
print(a_list) 

* split() li dividere con virgole, senza input

* per esempio. 1 2 3 4 5 = [1, 2, 3, 4, 5]

Problemi correlati