2017-04-21 6 views
-1

habe ich eine DateiWie kann ich eine Eingabe importieren?

#name file ask.py 
def ask_name(): 
    user = input("What is your name?: ") 

und i importiert es

import ask 
ask.ask_name() 
print(user) 

aber Python sagt mir, dass "user" nicht definiert ist.

+1

so viele Möglichkeiten, dies getan werden kann ... aber Sie werden wahrscheinlich wollen 'zurückkehren user' in' ask.py' Modul hinzufügen möchte, dann wäre es möglich, „user“ zu definieren, indem diese Zeile zu ändern Zu 'user = ask.ask_name()' dann funktioniert Ihre print-Anweisung. – davedwards

Antwort

3

Es ist nicht: Benutzer ist eine Variable intern ask_name, kein Attribut von fragen. Versuchen Sie folgendes:

#name file ask.py 
def ask_name(): 
    user = input("What is your name?: ") 
    return user 

# Main file 
import ask 
local_input = ask.ask_name() 
print(local_input) 
0

die user Variable „lebt“ nur innerhalb der ‚ask_name` Funktion (read this excellent post mehr über variable Umfang zu lernen), so ist es in der Haupt-Skript nicht definiert. Sie können die Funktion haben, die Benutzereingabe zurückzugeben und den zurückgegebenen Wert zu drucken.

#name file ask.py 
def ask_name(): 
    return input("What is your name?: ") 

# Main file 
import ask 
print(ask.ask_name()) 
+0

Sie können nicht wirklich 'input()' zurückgeben. Es sollte 'Return-Eingabe (" Wie heißt du ?: ")' – MLavrentyev

+0

danke @MLavrentyev, korrigierte ich den Tippfehler :) – teknoboy

Verwandte Themen