2016-10-01 15 views
0

こんにちは私はこの単純なスクリプトに取り組んできましたが、私は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)  

そして、ここで2番目のスクリプトが呼び出されたスクリプト2は、同様に、現在、私のスクリプトをある インポート時

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

そのスクリプトですが、それは私を助けてください動作しませDEOS。

+2

どのようなエラーが発生していますか? – Efferalgan

+0

'script2 test()'の代わりに 'script2.test()'を試してみてください。 – Jason

答えて

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

これは誤りである:まず

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

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

main()q1外側にq1は同じ変数ではありません。

の前にif q1 == "yes":が実行されます.main()がまだ呼び出されていないためです。

ソリューションは、メインからq1値を返すだけにして、それを使用することです:もちろん

def main(): 
    # ... 
    return q1 

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

を、すべての名前が完全に今めちゃくちゃ、それは別の問題ですしている...

関連する問題