Beste svaret
Det er ingen direkte ekvivalens, siden Python er veldig annerledes enn scanf.
scanf forsøk å analysere inngangslinjen og lagrer verdiene i variablene, det kontrollerer ingen grenser for for eksempel inngangsstrenger; det er derfor det anbefales at du bruker fgets og deretter skriver din egen parser for den spesielle forventede inngangslinjen.
Den nærmeste Python ekvivalent med fgets er enten
- fil . lese : der filen er en åpen fil (kanskje sys .stdin )
eller med et trykk:
- input (Python3) eller raw\_input (Python2)
input / raw\_input -funksjoner tilsvarer ikke direkte fgets fordi :
- fgets er begrenset til antall tegn som leses, input / raw\_input er ikke begrenset ited; de leser til når returen trykkes.
- fgets kan ta input fra hvilken som helst åpen fil – input / raw\_input tar bare data fra programmene stdin .
- fgets sender ikke ut en melding – input / raw\_input kan valgfritt avgi en melding til programmene stdout .
Svar
Du kan bruke raw\_input (“prompt ”) -Funksjon.
Inngangen vil være streng som standard. Du må konvertere den til int, boolean, float etc etc i henhold til dine krav.
Hvis du tar flere input samtidig avgrenset av plass, bruk:
[x , y] = raw\_input (). split (““)
Glad for å svare,