Mi az egyenértékű a scanf Python-ban?


Legjobb válasz

Nincs közvetlen egyenértékűség, mivel a Python nagyon különbözik a scanf-től.

scanf megkísérli a bemeneti sor elemzését és az értékek tárolását a változókban, nem korlátozza például a bemeneti karakterláncok ellenőrzését; ezért javasoljuk, hogy használja a fgets alkalmazást, majd írja meg a saját elemzőjét az adott várható bemeneti sorhoz.

A legközelebbi Python a fájlok megfelelője

  • fájl . read : ahol a fájl nyitott fájl (lehet, hogy sys .stdin )

vagy nyomás alatt:

  • bemenet (Python3) vagy raw\_input (Python2)

A input / raw\_input függvények nem közvetlenül egyenértékűek a fájlokkal , mert :

  • fgets az elolvasott karakterek számára korlátozódik, input / raw\_input nem korlátozott ited; akkor olvassák el, amikor a visszatérést megnyomják.
  • fgets bármilyen nyitott fájlból bemenetet vehetnek fel – input / raw\_input csak a stdin .
  • fgets nem ad ki üzenetet – input / raw\_input opcionálisan felszólítást küldhet a stdout .

Válasz

Használhatja a raw\_input (“prompt ”) Függvény.

A bemenet alapértelmezés szerint karakterlánc lesz. Át kell alakítania int, logikai, float stb. Stb. A követelményeinek megfelelően.

Ha egyszerre több bemenetet is beír a szóköz, akkor használja a következőt:

[x , y] = raw\_input (). split (““)

Szívesen válaszolok,

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük