Bedste svar
Der er ingen direkte ækvivalens, da Python er meget forskellig fra scanf.
scanf forsøger at parse inputlinjen og gemme værdierne i variablerne, det kontrollerer ikke grænser for f.eks. inputstrenge; Derfor anbefales det, at du bruger fgets og derefter skriver din egen parser til din særlige forventede inputlinje.
Den nærmeste Python svarende til fgets er enten
- fil . læs : hvor filen er en åben fil (måske sys .stdin )
eller med et tryk:
- input (Python3) eller raw\_input (Python2)
input / raw\_input -funktioner svarer ikke direkte til fgets fordi :
- fgets er begrænset til antallet af tegn, der læses, input / raw\_input er ikke begrænset ited; de læser til, når der trykkes på retur.
- fgets kan tage input fra enhver åben fil – input / raw\_input tager kun data fra programmerne stdin .
- fgets udsender ikke en prompt – input / raw\_input kan valgfrit udsende en prompt til programmerne stdout .
Svar
Du kan bruge raw\_input (“prompt ”) -Funktion.
Indgangen er som standard streng. Du er nødt til at konvertere det til int, boolesk, flyde osv. Osv. I henhold til dine krav.
Hvis du tager flere input på samme tid afgrænset af plads, skal du bruge:
[x , y] = raw\_input (). split (““)
Glad for at svare,