导入脚本的问题

issues importing a script

你好,我一直在研究这个简单的脚本,但我 运行 遇到了一些我无法用 def 解决的相当烦人的问题。并导入功能它只是行不通。这是主脚本

import time         # This part import the time module
import script2      # This part imports the second script

def main():
    print("This program is a calaulater have fun using it")
    name = input("What is your name? ")
    print("Hello",name)
    q1 = input("Would you like to some maths today? ")

if q1 == "yes":
    script2 test()

if q1 == "no":
    print("That is fine",name,"Hope to see you soon bye")
    time.sleep(2)



if __name__ == '__main__':
    try:
        main()
    except Exception as e:
        time.sleep(10)      

然后第二个脚本叫做 script2 这里也是那个脚本 导入时间

def test():
    print("You would like to do some maths i hear.")
    print("you have some truely wonderfull option please chooice form the list below.")

这是我目前的脚本,但它不起作用请帮助我。

这是一个错误:

def main():
    #...
    q1 = input("Would you like to some maths today? ")

if q1 == "yes":
    # ...

首先,main()里面的q1和外面的q1不是同一个变量

其次,if q1 == "yes":q1 = input(...)之前执行,因为main()还没有被调用

解决方案是 return 来自 main 的 q1 值,然后才使用它:

def main():
    # ...
    return q1

if __name__ == '__main__':
    # ...
    result_from_main = main()    
    if result_from_main == "yes":
       # ...

当然,现在所有的名字都乱七八糟了,但那是另外一个问题了...

首先你的缩进好像不对。正如 zvone 所说。其次,您应该使用 script2.test() 而不是 script2 test()。一个功能代码是

import time         # This part import the time module
import script2      # This part imports the second script

def main():
    print("This program is a calaulater have fun using it")
    name = input("What is your name? ")
    print("Hello",name)
    q1 = input("Would you like to some maths today? ")

    if q1 == "yes":
        script2.test()

    if q1 == "no":
        print("That is fine",name,"Hope to see you soon bye")
        time.sleep(2)



if __name__ == '__main__':
    try:
        main()
    except Exception as e:
        time.sleep(10)