Wenn Sie den folgenden Code ausgeführt wird, die ein einfaches Problem ist, arbeitet der Python-Interpreter weirdly:Weird-Programmverhalten in Python
n = input()
for i in range(n):
testcase = raw_input()
#print i
print testcase[2:(int(testcase[0])+1)]+testcase[(int(testcase[0])+2):]
Das Problem besteht n Strings zu nehmen und ein einzelnes Zeichen aus zu löschen. Zum Beispiel, angesichts der Zeichenfolge "4 PYTHON" sollte das Programm "PYTON" ausgeben. Der Code läuft in Ordnung, aber wenn ich die Kommentarmarke herausnehme, bewirkt die Anweisung print i, dass der Interpreter beim Parsen eine unerwartete EOF gibt. Irgendeine Idee warum dies passiert?
EDIT: Ich arbeite unter Python 2.5, 32 Bit in Windows.
Welche Version von Python? Die for-Schleife funktioniert gut für mich mit 'print i' unkommentiert auf Windows Python 2.6.2c1 – workmad3
funktionierte gut für mich auf Python 2.6.2 auf Linux. – Jack
Ich habe es auch ohne Beanstandung laufen lassen - Python 2.5.1 OS X –