你好我一直在研究这个简单的脚本,我遇到了一些相当恼人的问题,我无法用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.")
这是我目前的脚本,但它不起作用请帮助我。
答案 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)