导入脚本的问题

时间:2016-10-01 20:24:41

标签: python function python-import

你好我一直在研究这个简单的脚本,我遇到了一些相当恼人的问题,我无法用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.")

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

2 个答案:

答案 0 :(得分:0)

这是一个错误:

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

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

首先,q1中的main()和外部的q1不是同一个变量。

其次,if q1 == "yes":q1 = input(...)之前执行,因为main()尚未被调用。

解决方案是从main返回q1值,然后才使用它:

def main():
    # ...
    return q1

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

当然,所有名字现在都完全搞砸了,但这是一个不同的问题......

答案 1 :(得分:0)

首先,你的缩进似乎不对。正如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)