Sono un questa roba pure. Ho fatto un po 'di ricerche dal sito web python.org e un po' di hacking per farlo funzionare. La funzione raw_input è tornata di nuovo, modificata dall'input . Questo è ciò che mi si avvicinò con:
i,j = raw_input("Enter two values: ").split
i = int(i)
j = int(j)
scontato, il codice non è elegante come le battute utilizzando scanf di C o C++ s 'cin. Il codice Python sembra più vicino a Java (che impiega un meccanismo completamente diverso da C, C++ o Python) in modo tale che ciascuna variabile debba essere trattata separatamente.
In Python, il raw_input funzione ottiene lettere dalla console e li concatena in una singola stringa come uscita. Quando una sola variabile si trova sulla sinistra lato dell'operatore di assegnazione, il diviso funzione interrompe questa stringa in un elenco di String valori.
Nel nostro caso, in cui ci aspettiamo due variabili, possiamo ottenere valori in essi utilizzando un elenco separato da virgola per i loro identificatori. I valori di stringa vengono quindi assegnati alle variabili elencate. Se vogliamo fare aritmetica con questi valori, abbiamo bisogno di convertirli nel numerica int (o float) Tipo di dati utilizzando la funzione di Python incorporata int o galleggiante.
So che questo post è una risposta a un post molto vecchio e probabilmente la conoscenza è stata là fuori come "conoscenza comune" per qualche tempo.Tuttavia, avrei apprezzato un post come questo, piuttosto che dover passare alcune ore di ricerca e hacking fino a quando non ho trovato quella che ritenevo la soluzione più elegante che potesse essere presentata in una classe CS1.
fonte
2015-01-02 21:58:20
Si noti che a partire da Python 3.0, 'raw_input' è stato rinominato in' input'. (E per ottenere il comportamento originale di 'input', usate' eval (input) '.) – Stephan202
... che dovrebbe essere" applicare 'eval' all'output di' input' ". – Stephan202
Sì, il comportamento ovvio in 3 è molto meglio, ma vorrei che fossero stati rilasciati alcuni avvisi in 2.6 su tali modifiche. Suppongo di dover studiare la guida di aggiornamento –