Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Programme interactif

3 réponses
Avatar
Guillaume Lemaître
Bonjour,

J'ai fait un court programme lisant deux entrées successivement.

==>
import sys

print "Artiste ? ",
artiste = sys.stdin.readline()

print "\rAlbum ? ",
album = sys.stdin.readline()
<==

Je tiens à ce que l'utilisateur entre sa réponse en face de la question,
et non la ligne en dessous, d'où l'utilisation de la forme "print ... ,"
Néanmois, cela me force à ajouter un retour chariot en tête de la
question suivante, sinon j'assiste à ce genre de sortie :

Artiste ? Toto
Album ?

Or... c'est moche. Et compliqué à gérer pour les sorties suivantes. Ou
alors il faut systématiser l'utilisation des retours chariot en tête de
ligne. Et on en revient à ce simple constat : c'est moche.

Y'a-t-il un moyen qui me permette d'obtenir l'interface que je veux
(l'entrée utilisateur sur la même ligne que la question qui lui est
posé), sans avoir à utiliser l'astuce du "\r" (ce qui est moche) ?

D'avance merci,

Guillaume

3 réponses

Avatar
Michel Claveau - MVP
Salut !

Une idée, comme ça, en passant : rajoute simplement un espace, au début de la première question...

@+
--
MCI
Avatar
Bruno Desthuilliers
Guillaume Lemaître a écrit :
Bonjour,

J'ai fait un court programme lisant deux entrées successivement.

==>
import sys

print "Artiste ? ",
artiste = sys.stdin.readline()
print "rAlbum ? ",
album = sys.stdin.readline()
<=


artiste = raw_input("artiste ? ")
album = raw_input("album ? ")


HTH
Avatar
none
Bruno Desthuilliers a écrit :
Guillaume Lemaître a écrit :
Bonjour,

J'ai fait un court programme lisant deux entrées successivement.

==>
import sys

print "Artiste ? ",
artiste = sys.stdin.readline()
print "rAlbum ? ",
album = sys.stdin.readline()
<= >


artiste = raw_input("artiste ? ")
album = raw_input("album ? ")


HTH



Nickel ! Merci.

Guillaume