Maison >développement back-end >Tutoriel Python >Comment puis-je empêcher l'insertion d'une nouvelle ligne après la fonction « input » de Python ?

Comment puis-je empêcher l'insertion d'une nouvelle ligne après la fonction « input » de Python ?

DDD
DDDoriginal
2024-11-01 22:28:29509parcourir

How Can I Prevent Newline Insertion After Python's `input` Function?

Réduire l'insertion de nouvelle ligne dans la fonction d'entrée

En Python, le comportement par défaut de la fonction d'entrée (Python 2) et de la fonction raw_input (Python 3 ) consiste à ajouter une nouvelle ligne après la saisie de l'utilisateur. Bien que cela soit souvent souhaitable, certaines situations peuvent justifier la suppression de cette nouvelle ligne.

Le problème :

Comme démontré dans l'extrait de code, l'impression d'invites de texte avec des instructions d'impression séparées a suivi par une fonction d'entrée peut entraîner l'introduction d'une nouvelle ligne indésirable.

La solution :

Bien qu'il soit impossible d'empêcher raw_input d'insérer complètement une nouvelle ligne, il est possible de le faire efficacement revenir à la ligne précédente en utilisant une combinaison de codes d'échappement ANSI.

<code class="python">import sys
print('3[{}C3[1A'.format(len(x) + y))  # noqa</code>

Dans ce code :

  • x est la longueur de la saisie utilisateur.
  • y est la longueur de la chaîne d'invite raw_input().

La combinaison de code d'échappement :

  • ' 33[4C' déplace le curseur de 4 espaces vers la droite.
  • ' 33[1A' déplace le curseur d'une ligne vers le haut.

En les combinant, le curseur peut être replacé à la fin de la ligne précédente, supprimant ainsi la nouvelle ligne introduite par input.

Remarque :

  • Cette méthode peut ne pas fonctionner dans tous les terminaux.
  • Faire une file d'attente supprimera tous les caractères existants à cet endroit.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn