Migliore risposta
Non esiste unequivalenza diretta, poiché Python è molto diverso da scanf.
scanf “tenta” di analizzare la riga di input e memorizza i valori nelle variabili, non esegue il controllo dei limiti per istanze delle stringhe di input; motivo per cui si consiglia di utilizzare fgets e quindi scrivere il proprio parser per la particolare riga di input prevista.
Il Python più vicino lequivalente di fgets può essere
- file . read : dove file è un file aperto (forse sys .stdin )
o con una semplice pressione:
- input (Python3) o raw\_input (Python2)
Il input / raw\_input non sono direttamente equivalenti a fgets perché :
- fgets è limitato al numero di caratteri letti, input / raw\_input non sono lim ited; leggono fino a quando viene premuto il tasto Invio.
- fgets può ricevere input da qualsiasi file aperto – input / raw\_input prende solo i dati dai programmi stdin .
- fgets non restituisce un prompt – input / raw\_input può emettere facoltativamente un prompt ai programmi stdout .
Risposta
Puoi utilizzare raw\_input (“prompt “).
Linput sarà una stringa per impostazione predefinita. Devi convertirlo in int, booleano, float ecc. Ecc. Secondo le tue esigenze.
Se stai prendendo più input contemporaneamente delimitati da spazio, usa:
[x , y] = raw\_input (). split (“”)
Felice di rispondere,