Wat is het equivalent van scanf in Python?


Beste antwoord

Er is geen directe gelijkwaardigheid, aangezien Python heel anders is dan scanf.

scanf probeert om de invoerregel te ontleden en slaat de waarden op in de variabelen, het controleert bijvoorbeeld geen invoerstrings; daarom wordt aanbevolen dat u fgets gebruikt en vervolgens uw eigen parser schrijft voor uw specifieke verwachte invoerregel.

De dichtstbijzijnde Python equivalent van fgets is ofwel

  • bestand . lezen : waarbij bestand een open bestand is (misschien sys .stdin )

of met een druk:

  • invoer (Python3) of raw\_input (Python2)

De input / raw\_input -functies zijn niet direct equivalent aan fgets omdat :

  • fgets is beperkt tot het aantal tekens dat wordt gelezen, input / raw\_input zijn niet beperkt ited; ze lezen voor wanneer op de return wordt gedrukt.
  • fgets kunnen invoer ontvangen van elk geopend bestand – input / raw\_input neem alleen gegevens van de programmas stdin .
  • fgets geeft geen prompt weer – input / raw\_input kan optioneel een prompt naar de programmas sturen stdout .

Antwoord

Je mag raw\_input (“prompt ”) Functie.

De invoer zal standaard een string zijn. Je moet het converteren naar int, boolean, float etc etc, volgens je vereisten.

Als je meerdere invoer tegelijk gebruikt, afgebakend door een spatie, gebruik dan:

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

Graag beantwoorden,

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *