2016-10-19 17 views
-1

ありがとう!Pythonスクリプトがコマンドライン経由で実行されないのはなぜですか?

def hello(a,b): 
    print "hello and that's your sum:" 
    sum=a+b 
    print sum 
    import sys 

if __name__ == "__main__": 
hello(sys.argv[2]) 

それは私にとってはうまくいかない、私は助けていただきありがとうございます! ありがとう!

+2

私の推測では、あなたはそれをインポートする前に、 'sys.argv'を使用しようとしています。インポートを取り消し、関数呼び出しを字下げします。 – MooingRawr

+2

1引数を指定してhelloを呼び出すことは、容疑者のリストでも高いです。 –

+2

また、 'sum'が文字列を連結していないと、苦労するかもしれません。 – MooingRawr

答えて

4

あなたのエラーメッセージを表示せず、それは問題が何であるかを正確に言うのは難しいですが、いくつかのことは飛び出しません:あなたが唯一だ

  • :後__name__ ==「__main__」場合

    • ませインデントを1つの引数をhello関数に渡すと2つ必要です。
    • sysモジュールは、hello関数の外側のスコープには表示されません。

    多分、エラー出力が必要です。ここで

    は、あなたが望むかもしれないものです:

    import sys 
    
    def hello(a,b): 
        print "hello and that's your sum:" 
        sum=a+b 
        print sum 
    
    if __name__ == "__main__": 
        hello(int(sys.argv[1]), int(sys.argv[2])) 
    
  • 3
    • インポートsysグローバルスコープではなく、関数の最後に。
    • helloに、を2つ送信してください。
    • これらの引数をfloatに変換するので、数値として追加できます。
    • インデントが正しくインデントされます。 Pythonインデントでとなります。生じるはずである

    import sys 
    
    def hello(a, b): 
        sum = a + b 
        print "hello and that's your sum:", sum 
    
    if __name__ == "__main__": 
        hello(float(sys.argv[1]), float(sys.argv[2])) 
    
    関連する問題