Hvad svarer til scanf i Python?


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,

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *