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,