2014-03-07 65 views
0

我剛剛開始使用Python,我一直在關注OCR GCSE計算書。 在書中我應該複製的代碼是這樣的:名稱未定義,但存在爲def

#valid_response="True" 
while True: 
answer=(input("Press A, R, F or Q: ")) 
if answer in("A", "a"): 
    write_file() 
elif answer in ("R", "r"): 
    read_file() 
elif answer in ("F", "f"): 
    find_rec() 
elif answer in ("Q", "q"): 
    break 
else: 
    print("Invalid Response") 

#function to write music details to file 

def write_file(): 
    """Write details to the file""" 

#create a new file or add to an existing file 
    f = open("music2.txt","a") 
    print ("Enter Details") 

    ok=True 

    while ok==True: 
    serial = (input("Enter Serial ")) 
    f.write(serial+"\n") 
    genre = (input("Enter Genre ")) 
    f.write(genre+"\n") 
    artist = (input("Enter Artist ")) 
    f.write(artist+"\n") 
    title = (input("Enter Title ")) 
    f.write(title+"\n") 
    ask=(input("Another? ")) 
    if ask in ('y', 'ye', 'yes', 'Y'): 
     ok=True 
    else: 
     ok=False 

    f.close() 

所有當我運行它是一個錯誤「名稱WRITE_FILE沒有定義」我知道。

據我所知,我已經在代碼中定義了它。我使用3.3.4,並想知道我是否漏掉了任何明顯的東西。

謝謝

+0

你的書太可怕了。這段代碼有太多錯誤,我甚至不知道應該從哪裏開始...... – l4mpi

回答

0

將函數移到函數調用的上方。您的主要腳本應始終位於底部。