Care este echivalentul scanf în Python?


Cel mai bun răspuns

Nu există o echivalență directă, deoarece Python este foarte diferit de scanf.

scanf „încercări” de a analiza linia de intrare și stochează valorile în variabile, nu verifică limite, de exemplu, de șiruri de intrare; motiv pentru care este recomandat să utilizați fgets și apoi să vă scrieți propriul parser pentru linia de intrare așteptată.

Cel mai apropiat Python echivalentul fgets este fie

  • fișier . citit : unde fișierul este un fișier deschis (poate sys .stdin )

sau la o apăsare:

  • (Python3) sau raw\_input (Python2)

input / raw\_input funcțiile nu sunt direct echivalente cu fgets deoarece :

  • fgets este limitat la numărul de caractere citite, input / raw\_input nu sunt lim ited; citesc când se apasă returnarea.
  • fgets pot prelua intrări din orice fișier deschis – input / raw\_input preia date numai din programele stdin .
  • fgets nu afișează un prompt – input / raw\_input poate emite un prompt opțional către programele stdout .

Răspuns

Puteți utiliza raw\_input („prompt” ”) Funcție.

Intrarea va fi șir implicit. Trebuie să-l convertiți în int, boolean, float etc. etc conform cerințelor dvs.

Dacă luați mai multe intrări în același timp delimitate de spațiu, utilizați:

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

Mă bucur să răspund,

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *