Hva tilsvarer scanf i Python?


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,

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *