0

我正在尝试仅使用 python 制作一个非常基本的操作系统,它是这样的:

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")

我只有两个程序,一个词不起作用,我还没有完美地完成循环,但它可以工作。我遇到的问题是重新加载代码;我把它放在底部,它说某种错误,所以我尝试将它放入模块中,但仍然出现错误。如果没有重新加载,它运行良好,但我只能使用这些模块一次,而且我到处寻找,没有任何帮助。

4

1 回答 1

1

你最好把所有的进口放在顶部,所以

from bensos import pythag
from bensos import word
...

然后在 pythag 和 word 模块中定义一个过程 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()

让我知道是否不清楚,或者您是否仍有问题。

于 2013-03-13T15:54:06.180 回答