2017-04-21 72 views
-1

我創建了一個文件如何導入輸入?

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

,我進口它

import ask 
ask.ask_name() 
print(user) 

但是Python告訴我, 「用戶」 沒有定義。

+1

這麼多的方法可以做到這一點......但你可能需要添加'ask.py'模塊中的'返回user',那麼將有可能通過改變線來定義「用戶」到'user = ask.ask_name()',那麼你的打印語句就可以工作。 – davedwards

回答

3

這不是:用戶是一個可變的內部ask_name,不是屬性問。試試這個:

#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

user變量「住」只有裏面的「ask_name`功能(讀this excellent post詳細瞭解變量的作用域),所以它的主要腳本中不確定的。 你可以讓函數返回用戶的輸入,並打印返回的值。

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

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

你實際上不能'return = input()'。它應該是'返回輸入(「你叫什麼名字?:」)' – MLavrentyev

+0

謝謝@MLavrentyev,我糾正了錯字:) – teknoboy