Vad motsvarar scanf i Python?


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,

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *