2016-05-19 2 views
0

Ich habe ein Programm, das ich möchte, dass der Benutzer die Antwort in der gleichen Zeile wie die Frage eingeben, die gedruckt wird.den Cursor der Benutzereingabe in die gleiche Zeile wie die gedruckte Anweisung zu bekommen

der Code sieht wie folgt aus:

question = 1 
number1 = 2 
number2 = 2 

print(question , ") " , "What is" , number1 , "+" , number2 , "? ") 

user_ans = int(input("")) #The Answer the user inputs to the question asked 

print (user_ans) 

aber die Ausgabe ist:

1) What is (number1) + (number2) ? 
(the cursor goes here) 

aber wie bekomme ich die Ausgabe, dies zu sein:

1) What is (number1) + (number2) ? (the cursor goes here) 

Antwort

0

In Python, standardmäßig die print Funktion hat das Schlüsselwort Argument end=\n, also eine Newline wird jedes Mal erstellt, wenn Sie es anrufen.

dieses Verhalten zu verhindern, einfach das selbst end Schlüsselwort-Argument angeben, mit end='' keine Newline-Zeichen, um sicherzustellen, am Ende Ihrer Ausgabe-String

print(question , ") " , "What is" , number1 , "+" , number2 , "? ", end='') 

Als Nebenwirkung gelegt wird, würde ich mit str.format betrachten zu machen Ihre Ausgabezeichenfolgen sind einfacher zu sehen.

print(str.format('{0}. What is {1} + {2}?', question, number1, number2), end='') 
Verwandte Themen