2011-03-07 77 views
0

我正在嘗試創建一個選項層次結構。我能夠創建選項的第一個列表:如果用戶選擇選項1狐猴然後我運行Lemur.LE在Python中導入模塊內部的模塊

  1. 狐猴
  2. 大猩猩
  3. 黑猩猩

()功能導致我已經導入了狐猴模塊。然後,他們提出了另一套方案:

  1. 白蘭地
  2. 雪茄
  3. 剃鬚膏
  4. 選擇不同的猴子。

選項4運行休息,將它們發送回第一個列表。我試圖從第一個體系結構重複操作,以便在調用Lemur.LE()函數時通過導入來選擇Shaven.SC(),但如果在函數啓動之前放置導入,則會得到當我第一次導入狐猴時,如果我在'LE()函數內調用它們,那麼我會遇到一個奇怪的縮進異常。思考?我是否需要更加努力?

P.S.

好了下面的代碼:

begin = int(raw_input("""Options 1-6""")) 
    elif begin == 3: 
    L.Leg() 
    elif begin == 6: 
     print "Goodbye" 
     exit() 

Level 2: 

def Leg(): 
    begin = int(raw_input("""options 1-5""")) 
    elif begin == 2: 
     import LegacyWT 
    else: 
     print "Returning to Main Menu." 
     break 
+2

發佈您的代碼... – 2011-03-07 14:21:44

+4

@Béres:幾乎是正確的:*發佈**最小**代碼示例,重現錯誤*更好。 – 2011-03-07 14:32:19

回答

0

得到一個奇怪的縮進異常。思考?我是否需要更加努力?

縮進異常幾乎總是由混合相同文件中的製表符和空格造成的。如果您使用的是像樣的編輯器,則可以將其設置爲自動將製表符轉換爲空格。如果你不使用體面的,停下來,並使用一個體面的編輯器。

+0

我正在使用Notepad ++。如果Python不配合,那麼我認爲它不是一個編輯器的問題,而不是體面的。 – DJG 2011-03-08 08:55:39

+0

@DJG:Notepad ++對python來說無疑是足夠的。這裏有另一個堆棧溢出問題,將告訴你如何照顧這些討厭的選項卡:http://stackoverflow.com/questions/455037/notepad-tabs-to-spaces – SingleNegationElimination 2011-03-08 13:52:05

+0

感謝您的所有幫助。 – DJG 2011-03-10 07:12:07

0

目前尚不清楚的是不帶一個代碼示例做錯了什麼。一般情況下,導入是一個像其他任何語句一樣的語句,可用於任何範圍。所以:

def LE(): 
    ... 
    if option == 'Shaving Cream': 
     import Shaven 
     Shaven.SC() 
    elif option == ... 

應該工作得很好。

+3

'然後'不是Python關鍵字 – rubik 2011-03-07 16:24:40