2010-06-06 8 views
1

je l'ai déjà posté, mais voici le code exact:Comment interroger une entrée en Python sans sortir une nouvelle ligne

x1 = input("") 
x2 = input("-") 
x3 = input("-") 
x4 = input("-") 

Alors, comment ferais-je si qu'il n'y a pas d'espace entre la première entrée et la prochaine "-"?

Exemple:

1234-5678-9101-1121

+1

Qu'essayez-vous d'accomplir? Les réponses à votre précédente version de votre question http://stackoverflow.com/questions/2982964/how-to-query-an-input-in-python-without-outputting-a-new-line disent aussi qu'elles peuvent ' Je devine tes intentions. – msw

Répondre

0
>>> x1, x2, x3, x4 = raw_input("Input number as xxxx-xxxx-xxxx-xxxx").split('-') 

Si vous utilisez la version 3.x Python, remplacez rawinput avec input.

1

laid, mais vous pouvez utiliser terminal escape sequences pour supprimer la nouvelle ligne créée par l'entrée utilisateur se termine entre chaque appel successif d'entrée() . Les séquences appropriées d'échappement seraient <Esc>[2K pour effacer la ligne courante, puis éventuellement <Esc>[nC pour avancer n caractères où n est calculé en récupérant la longueur de la chaîne renvoyée par le dernier appel d'entrée().

0

Vous pouvez utiliser le code Python read a single character from the user pour lire le caractère stdin caractère par caractère (en le lisant essentiellement en mode non tamponné, de sorte que l'utilisateur n'ait pas besoin de taper entrée avant que vous puissiez voir l'entrée).

Questions connexes