Jaký je ekvivalent scanf v Pythonu?


Nejlepší odpověď

Neexistuje žádná přímá ekvivalence, protože Python se od scanf velmi liší.

scanf pokusy o analýzu vstupního řádku a uložení hodnot do proměnných, neprovádí žádné meze kontroly například vstupních řetězců; proto se doporučuje použít fgets a poté napsat vlastní analyzátor pro konkrétní očekávaný vstupní řádek.

Nejbližší Python ekvivalent fgets je buď

  • soubor . read : kde soubor je otevřený soubor (možná sys .stdin )

nebo stisknutím:

  • vstup (Python3) nebo raw\_input (Python2)

input / raw\_input funkce nejsou přímo ekvivalentní fgetům , protože :

  • fgets je omezen počtem přečtených znaků, vstup / raw\_input nejsou omezené ited; čtou, když je stisknut návrat.
  • fgets mohou převzít vstup z libovolného otevřeného souboru – vstup / raw\_input přijímá pouze data z programů stdin .
  • fgets nezobrazí výzvu – vstup / raw\_input může volitelně vydávat výzvy programům stdout .

Odpovědět

Můžete použít raw\_input („prompt ”).

Ve výchozím nastavení bude vstup řetězec. Musíte jej převést na int, boolean, float atd. Podle vašich požadavků.

Pokud přijímáte více vstupů současně oddělených mezerou, použijte:

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

Rádi odpovíme,

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *