0

関数が2つの引数を取り、それらの合計を返すようにしようとしています。私はこれを正しい方法で行っていますか?これは私がこれまでに持っているものです:

def my_sum(a, b):
    sum = a + b

def main():
    a = input(int("enter a number: ", a)
    b = input(int("enter a number: ", b)

    sum = a + b

    return sum
    print(" result: ", sum)

main()
4

4 に答える 4

4

見た目は良いですが、主な問題は、実際に関数を呼び出していないことです:) 2つの数値を取得したら、関数を呼び出すことができます(適切に設定しました):

def main():
    # When you assign variables here, make sure you are putting the int outside
    # You also don't need to reference the variable twice
    a = int(input("enter a number: "))
    b = int(input("enter a number: "))

    # Here is where your call goes (try to avoid using variable names that
    # are the same as Python keywords, such as sum)
    s = my_sum(a, b)

    print(" result: ", s)

ここで、もう 1 つやらなければならないことは、値を返すように関数を変更することです。あなたはもうほとんどそこにいます - return を追加するだけです (2 つの数値の合計を返すだけなので、変数に割り当てる必要はありません):

def my_sum(a, b):
    return a + b

これは、 を実行するs = my_sum(a, b)と、関数がこれら 2 つの数値の合計を返し、それらを に入れることを意味しsます。

もう1つの小さなこと-(def main()などを使用して)現在のセットアップを使用する場合、通常は次のように呼び出します。

if __name__ == '__main__':
    main()

この段階では、それが何を意味するかについてあまり心配する必要はありませんが、モジュールなどの楽しいものに取り掛かり始めたら、それを身に付けるのは良い習慣です:)

于 2012-11-02T05:08:07.150 に答える
0
  1. 戻り値を返すときに実行がスコープを終了し、順序を逆にする必要があるため、後で関数を実行してもprint機能しreturn sumません。

  2. 入力関数が正しく実装されていません。

正しいコードは次のとおりです。

def main():

    a = input("enter a number: ")
    b = input("enter a number: ")
    sum = a + b    
    print(" result: ", sum)    
    return sum
于 2012-11-02T05:01:06.350 に答える
0

そこで定義した最初の関数の目的がわかりません ( my_sum)。ただし、いくつか間違っている点mainもあります。return関数は常に、それが入っている関数を終了し、より高いレベルのスコープにズームアウトします。これは と非常に似breakていますが、値も返す点が異なります。また、ユーザー入力を求めるときの構文が正しくありません。そのはず:

def main():
    a = int(raw_input("Enter a number: "))
    b = int(raw_input("Enter a number: "))

    return "Result" + (a+b)

main()

my_sumまた、合計を自動的に返したい場合は、 returnorを使用する必要がありprintます。

def my_sum(a, b):
    return a + b
于 2012-11-02T05:21:04.807 に答える
0

あなたは間違ったコーディングスタイルを書いていますこれよりもsumメソッドを使用して何かをしたい場合

def my_sum(a, b):
    sum = a + b
    return sum


def main():
    a = int(raw_input("enter a number: "))
    b = int(raw_input("enter a number: ")) 

    sum = my_sum(a,b) 
    print" result: ", sum


main()

これがあなたの要件に従って機能することを願っています。よろしく、 アニル

于 2012-11-02T05:15:16.823 に答える