Quel est léquivalent de scanf en Python?


Meilleure réponse

Il ny a pas déquivalence directe, car Python est très différent de scanf.

scanf tente danalyser la ligne dentrée et stocke les valeurs dans les variables, il ne vérifie pas les limites par exemple des chaînes dentrée; cest pourquoi il est recommandé dutiliser fgets , puis décrire votre propre analyseur pour votre ligne dentrée attendue particulière.

Le Python le plus proche léquivalent de fgets est soit

  • fichier . read : où file est un fichier ouvert (peut-être sys .stdin )

ou en un clic:

  • input (Python3) ou raw\_input (Python2)

Le input / raw\_input ne sont pas directement équivalentes à fgets car :

  • fgets est limité au nombre de caractères lus, input / raw\_input ne sont pas lim ited; ils lisent lorsque le retour est pressé.
  • fgets peut prendre lentrée de nimporte quel fichier ouvert – input / raw\_input ne prend que les données des programmes stdin .
  • fgets naffiche pas dinvite – input / raw\_input peut facultativement émettre une invite vers les programmes stdout .

Réponse

Vous pouvez utiliser raw\_input (« prompt ”).

Lentrée sera une chaîne par défaut. Vous devez le convertir en int, booléen, flottant, etc. selon vos besoins.

Si vous prenez plusieurs entrées en même temps délimitées par un espace, utilisez:

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

Heureux de répondre,

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *