2013-03-13 52 views
0

我想只用蟒蛇做一個很基本的操作系統,它是這樣的:調用模塊不止一次

print ("welcome to ben's operating system V 0.1.0") 
ten = 0 
while (ten < 1000000): 
    do = input() 
    if do == ("pythag"): 
     from bensos import pythag 
    elif do == ("word"): 
     from bensos import word 
    else : 
     print ("invalid input") 

的pythag代碼是這樣

from math import sqrt 
a = float(input ("a=")) 

b = float(input ("b=")) 
a = a*a 

b = b*b 

c = a+b 

c = sqrt (c) 
print ("c=") 
print (c) 
d = input("end") 

我只有兩個程序和單詞不工作,我沒有得到循環的事情完美,但它的作品。我遇到的問題是重載代碼;我把它放在底部,它說有某種錯誤,所以我試着把它放到模塊中,但仍然出現錯誤。沒有重新加載它運行良好,但我只能使用模塊一次,我看到處處都沒有幫助。

+1

你能發佈整個錯誤嗎? – User 2013-03-13 15:32:10

+0

「一些錯誤的結果」確實沒有幫助。什麼是實際的錯誤?什麼是你正在談論的「重新加載代碼」,因爲這個問題,既然你沒有向我們展示那個? – 2013-03-13 15:52:30

+0

reload(pythag)我看到類似的東西,我想出了一個錯誤,我試圖看看它說什麼 – 2013-03-13 16:17:50

回答

1

你會好起來把所有的進口在頂部,所以

from bensos import pythag 
from bensos import word 
... 

,然後pythag和字模塊中定義過程runModule並填寫與所有當前在代碼該模塊。

def runModule(): 
    #The contents of your files at the moment 

所以你pythag文件看起來像

from math import sqrt 

def runModule(): 
    a = float(input ("a=")) 

    b = float(input ("b=")) 
    a = a*a 

    b = b*b 

    c = a+b 

    c = sqrt (c) 
    print ("c=") 
    print (c) 
    d = input("end") 

這樣一來,你的代碼會首先加載的模塊,然後你可以打電話給他們,只要你想喜歡

pythag.runModule() 

讓我知道如果不清楚,或者你仍然有麻煩。

+0

正確的我很確定你的意思,但我仍然認爲我做錯了 \t if if ==(「pythag」 ): \t \t pythag.runpythag – 2013-03-13 16:20:58

+0

不知道我明白嗎? – 2013-03-13 16:34:14

+0

我做的一切都是你說的和IF函數運行pythag做我只是把pythag.runpythag怎麼一回事,因爲這是你說叫什麼,但是當我運行COSE什麼也沒有發生 – 2013-03-13 16:36:20