2016-05-19 10 views
0

Lassen Sie mich zuerst meinen einfachen Code teilen;Wie erhalten Sie Eingaben in Python 2.7?

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 

import sys 

print ("test") 

var = raw_input("Enter your words: ") 
print ("Your words: "), var 

Was ich erwarte, wenn ich dieser Code ausgeführt ist, dass erste „Test“ Text auf dem Bildschirm erscheint, dann „Ihre Worte ein:“ Text erscheint und für meine Eingabe warten. Nachdem ich meine Eingabe eingegeben habe, wird auch meine Eingabe auf dem Bildschirm mit dem letzten Druckbefehl angezeigt.

Allerdings, was ich bekomme, wenn ich diesen Code ausführen ist, dass es zuerst auf eine Eingabe wartet, dann, nachdem ich meinen Eingabewert gebe, zeigt es alle Werte jeweils. Es schreibt zuerst "test", dann meinen Eingabewert auf dem Bildschirm.

Können Sie mir helfen, dieses Problem zu lösen? Vielen Dank.

Antwort

2

Sie verwenden eine Druckanweisung von Python 3+ mit Python 2+.

Nach der What's new in Python 3.0, können Sie sehen, dass the print method is now a function.

Old: print "The answer is", 2*2 
New: print("The answer is", 2*2) 

Old: print x,   # Trailing comma suppresses newline 
New: print(x, end=" ") # Appends a space instead of a newline 

Old: print    # Prints a newline 
New: print()   # You must call the function! 

Old: print >>sys.stderr, "fatal error" 
New: print("fatal error", file=sys.stderr) 

Old: print (x, y)  # prints repr((x, y)) 
New: print((x, y))  # Not the same as print(x, y)! 

Python 2+:

print "test" 

Python 3+:

print("test") 

Fest Code:

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 

import sys 

print "test" 

var = raw_input("Enter your words: ") 
print "Your words: ", var 

Ausgang des festen Code:

Anon @ Anon-pc: ~/Desktop $ python test.py

Test

Geben Sie Ihre Worte: itsWorking

Ihre Wörter: itsWorking

anon @ anon-pc: ~/Desktop $

+0

Ich habe versucht den festen Code, aber es wartet immer noch auf eine Eingabe. Was es eigentlich tun sollte ist, dass zuerst "test" ausgedruckt werden soll, dann sollte auf eine Eingabe mit der Zeichenfolge "Enter your words:" gewartet werden. @Dot_Py –

+0

es funktioniert hier ... mit Python 2.7.6. bearbeitet die Antwort mit der Ausgabe ... –

+0

Ich benutze Cygwin64 Terminal auf Windows 10. Könnte mein Problem damit verbunden sein? –