Bästa svaret
Det finns ingen direkt ekvivalens, eftersom Python är väldigt annorlunda än scanf.
scanf försöker att analysera inmatningsraden och lagrar värdena i variablerna, det kontrollerar inga gränser till exempel för inmatningssträngar; det är därför det rekommenderas att du använder fgets och sedan skriver din egen parser för just din förväntade inmatningsrad.
Närmaste Python motsvarande fgets är antingen
- -fil . läs : där filen är en öppen fil (kanske sys .stdin )
eller med ett tryck:
- (Python3) eller raw\_input (Python2)
input / raw\_input -funktioner motsvarar inte direkt fgets eftersom :
- fgets är begränsat till antalet tecken som läses, input / raw\_input är inte begränsad ited; de läser till när returen trycks.
- fgets kan ta inmatning från alla öppna filer – input / raw\_input tar bara data från programmen stdin .
- fgets ger ingen uppmaning – input / raw\_input kan valfritt avge en uppmaning till programmen stdout .
Svar
Du kan använda raw\_input (“prompt ”) -Funktion.
Ingången är sträng som standard. Du måste konvertera det till int, boolean, float etc etc enligt dina krav.
Om du tar flera inmatningar samtidigt avgränsat av utrymme, använd:
[x , y] = raw\_input (). split (““)
Glad att svara,