2016-07-21 15 views
0

Ich habe ein Problem, wo, wenn ich mein Python-Programm im Windows-Terminal ausführen, Text mit eingefügten Variablen (%s) verrückte Ergebnisse, wo wie in der Python-Shell funktioniert es gut.Eingabeprobleme in cmd

Code:

print("Hi! What's your name?") 
name = input("name: ") 
print("Nice to meet you %s" % name) 
print("%s is a good name." % name) 
print("This line is only to test %s in the middle of the text." % name) 
input("press enter to exit") 

Ergebnis in Python-Shell:

Python Shell Result

Ergebnis in cmd:

cmd result

Ich verwende Windows 10 und python32 bei du musst es wissen.

+2

Das ist interessant, könnten Sie bitte "Format" anstelle von "%" verwenden und die Ergebnisse bitte posten? – Rockybilly

+0

Funktioniert für mich auf Win8.1. Ich habe es von einer Windows-Befehlszeile ausgeführt und die Ausgabe sieht genauso aus wie Ihre Python-Shell-Ergebnisse. –

+0

Funktioniert für mich unter Windows 7 –

Antwort

0

Dies ist ein Fehler in der ursprünglichen 3.2.0 unter Windows. Die input()-Anweisung entfernt das "\ n", aber nicht das "\ r", sodass die Zeichenfolgeneingabe ausgeblendet wird.

Siehe https://bugs.python.org/issue11272

Quick Fix:

name = input("name: ").rstrip() 

Es wurde in 3.2.1 festgelegt. Du solltest dein Python wirklich verbessern!

+0

Ich aktualisierte, und alles funktioniert super! Vielen Dank. – CyManSAP