Beste Antwort
Es gibt keine direkte Äquivalenz, da Python sich stark von scanf unterscheidet.
scanf versucht, die Eingabezeile zu analysieren und die Werte in den Variablen zu speichern. Es werden keine Grenzen für die Eingabe von Eingabezeichenfolgen festgelegt. Aus diesem Grund wird empfohlen, dass Sie fgets verwenden und dann Ihren eigenen Parser für Ihre bestimmte erwartete Eingabezeile schreiben.
Der nächste Python Das Äquivalent von fgets ist entweder
- Datei . read : wobei die Datei eine geöffnete Datei ist (möglicherweise sys .stdin )
oder auf Knopfdruck:
- Eingabe (Python3) oder raw\_input (Python2)
Die input / raw\_input -Funktionen entsprechen nicht direkt fgets , weil :
- fgets ist auf die Anzahl der gelesenen Zeichen beschränkt, input / raw\_input sind nicht begrenzt ited; Sie lesen, wann die Eingabetaste gedrückt wird.
- fgets können Eingaben von jeder geöffneten Datei entgegennehmen – input / raw\_input nimmt nur Daten aus den Programmen stdin .
- fgets gibt keine Eingabeaufforderung aus – Eingabe / raw\_input kann optional eine Eingabeaufforderung an die Programme senden stdout .
Antwort
Sie können raw\_input („Eingabeaufforderung“ verwenden ”) Funktion.
Die Eingabe ist standardmäßig eine Zeichenfolge. Sie müssen es gemäß Ihren Anforderungen in int, boolean, float usw. usw. konvertieren.
Wenn Sie mehrere Eingaben gleichzeitig vornehmen, die durch Leerzeichen begrenzt sind, verwenden Sie:
[x , y] = raw\_input (). split (““)
Gerne antworten,