Maison > développement back-end > Tutoriel Python > Comment supprimer les nouvelles lignes dans les entrées utilisateur à l'aide de la fonction « input() » de Python ?

Comment supprimer les nouvelles lignes dans les entrées utilisateur à l'aide de la fonction « input() » de Python ?

Patricia Arquette
Libérer: 2024-10-28 04:13:02
original
972 Les gens l'ont consulté

How to Suppress Newlines in User Input Using Python's `input()` Function?

Suppression des nouvelles lignes dans les entrées utilisateur à l'aide des fonctions de saisie

Bien que les instructions d'impression puissent être empêchées d'ajouter des nouvelles lignes en ajoutant une virgule, une technique similaire est pas immédiatement disponible pour les fonctions d'entrée comme raw_input (Python 2.x) ou input (Python 3.x).

Pour supprimer la nouvelle ligne après la saisie de l'utilisateur, on peut tirer parti du fait que raw_input ou input imprime intrinsèquement un nouveau ligne avant de demander une entrée. Cependant, il n'est pas possible d'empêcher l'insertion de cette nouvelle ligne initiale.

Surmonter la contrainte d'insertion de nouvelle ligne

Bien qu'il soit impossible de supprimer directement la nouvelle ligne, une solution de contournement existe pour revenir de manière transparente à la ligne précédente après avoir reçu une entrée. Cette technique consiste à utiliser le code suivant :

<code class="python">print('3[{}C3[1A'.format(len(x) + y), end='')</code>
Copier après la connexion

où :

  • x est un entier représentant la longueur de la saisie utilisateur
  • y est un entier représentant la longueur de la chaîne d'invite de la fonction d'entrée

Explication

La chaîne ' 33[4C' déplace le curseur de quatre index vers la droite, écrasant ainsi l'invite avec un caractère spatial. De même, la chaîne « 33[1A » déplace le curseur d'une ligne vers le haut, alignant la saisie de l'utilisateur directement après l'invite.

Cas d'utilisation

L'extrait de code suivant démontre l'application pratique de cette technique :

<code class="python">print('Hello, ', end='')
name = input()
print(', how do you do?')</code>
Copier après la connexion

Résultat

Hello, Tomas, how do you do?
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal