2010-06-06 6 views

Répondre

3

La fonction input, qui ne la requête, ne dégage pas une nouvelle ligne:

>>> input('tell me: ') 
tell me: what? 
'what?' 
>>> 

comme vous le voyez, l'invite est sortie sans retour à la ligne, et ce que l'utilisateur Les types suivants apparaissent sur la même ligne que l'invite. Bien sûr, l'utilisateur tape également une nouvelle ligne, et (comme tout ce que l'utilisateur tape), que newline est renvoyé (donc les résultats suivants sont sur les lignes suivantes). Est-ce votre problème?

Si oui, alors vous devez passer à des approches spécifiques à la plateforme, comme curses sur à peu près toutes les machines sauf Windows et msvcrt sous Windows (ou, vous pouvez chercher un port curses sous Windows, mais je n » Je ne sais pas s'il y en a un pour Python 3). Les deux modules sont très différents, et vous n'avez pas clarifié votre plate-forme (ou vos besoins exacts - mon paragraphe précédent est une tentative de supposition éclairée ;-), donc je vais juste attendre que vous clarifiiez les besoins et les plateformes plutôt que de lancer de longs essais qui peuvent ne pas s'avérer utiles.

1

Si vous utilisez raw_input, il n'insère pas automatiquement une nouvelle ligne.

>>> name = raw_input ("What...is your name? ") 
What...is your name? Arthur, King of the Britons! 

Jacob

+0

Python 3.x, pas 2.x! – Kudu

+0

Ahh, j'ai lu le titre, le corps, puis suis allé de l'avant avec très peu d'informations. Je n'ai pas lu les tags en détail. – TheJacobTaylor

+0

pour tout débutant lisant, cela signifie raw_input parti dans 3.0, et l'entrée dans 3.0 n'a plus la surprise horrible qu'il ne fait pas exactement ce que la plupart des gens non initiés pensaient qu'il a fait. –

Questions connexes