2016-06-13 17 views
-1

私は、2つの数字を入力して、システムに与えられた数字の合計、差、積、商を計算させて結果を出力させるプログラムを作成しようとしています。これはこれまで私が持っていたものです。和のコードを実行したときに、正しい関数が返されました。差関数を追加しても機能しません。複数ステップ数式方程式

def total_sum(num1,num2): 
result = num1 + num2 
return result 

def total_difference(num_1,num_2): 
    result = num_1 - num_2 
    return result 

def total_product(number1,number2): 
    result = number1 * number2 
    return result 

def total_quotient (number_1,number_2): 
    result = number_1/number_2 
    return result 

def main(): 
    value_1 = float(input('Enter a number :')) 
    value_2 = float(input('Enter second number :')) 
    value_2 != 0 

    add = total_sum(value_1,value_2) 
    difference = total_difference(value_1, value_2) 
    product = total_product(value_1,value_2) 
    quotient = total_quotient(value_1,value_2) 

    print ('The total is {:.1f}'.format(add)) 
    print ('The difference is {:.1f}'.format(difference)) 
    print ('The product is {:.2f}' .format(product)) 
    print ('The quotient is {:.2f}'.format(quotient)) 

main() 
+2

あなたはmain()の中で第二の印刷中に単一引用符を忘れてしまいましたが? – Li357

+0

@AndrewL私は非常にPythonに新しいです、私はあなたが話しているか分からない。これは、私にdefの "def"部分に構文エラーを与えています。total_sum – CzSzPzTz

+0

'print( '違いは'、format(total_difference、 '.1f))'これはAndrewが話している行です。コードを投稿するときにそれは打ち間違いですか? – SilentMonk

答えて

0

ほとんどミス、

  1. を:あなたはここでそれを使用しようとしている理由を私は知りません。
  2. .formatで間違いました。
  3. 結果を返す場所で差異機能にresultsを使用していました。

ここで修正されたコードです:

def total_sum(num1,num2): 
    result = num1 + num2 
    return result 

def total_difference(num_1,num_2): 
    result = num_1 - num_2 
    return result 

def main(): 
    value_1 = float(input('Enter a number :')) 
    value_2 = float(input('Enter second number :')) 

    add = total_sum(value_1,value_2) 
    difference = total_difference(value_1, value_2) 

    print ('The total is {:.5f}'.format(add)) 
    print ('The difference is {:.5f}'.format(difference)) 


main() 
+0

ありがとう!だから私は商と製品のステップを同じ順序で正確に加えるだけでしょうか? @Ani Menon – CzSzPzTz

+0

OPは、文字列自体の中のspecを指定する 'str.format'の代わりに組み込みの' format'関数を使うことを選択します。私は間違いとしてカウントしないと思います。 –

+0

@CzSzPzTzはい。 (また、除算演算子にゼロと等しくない 'value_2'を追加することを忘れないでください) –

1

問題は、リストを反復処理しなければならない合計メソッドを使用しようとしている、あなたはタプルでこれをやろうとしているということです。次のようにTypeError: 'float' object is not iterable

ではなくあなたがリストにご入力された値を追加する必要があります戻ります

a = sum(1,2) 
print(a) 

あなたは同等のものを持っている

list2sum = [] 
list2sum.append(value_1) # do the same for 2) 
a = sum(list2sum) 
print(a) 

more on sum用:

sum(iterable [、start])

左から右に からの繰り返し可能なアイテムの開始と合計を返し、合計を返します。 startは0にデフォルト設定されます。 イテラブルの項目は通常数値で、開始値は が文字列ではありません。

いくつかの使用例では、sum()に代わるものがあります。 文字列のシーケンスを連結するための好ましい方法は、 '' .join(sequence)を呼び出すことです。拡張された 精度の浮動小数点値を追加するには、math.fsum()を参照してください。一連のイテラブルを連結するには、 itertools.chain()の使用を検討してください。

あなたは適切にそれを使用することによって、そう、あなたの合計機能を使用しようとしている場合:

a = total_sum(value_1, value_2) 
print(a) #print to confirm result 

は、前述のように合計が、実際に内蔵された機能で、覚えておいてください。アンドリューのコメントで指摘したようにあなたが'を逃した

total_sum = sum(value_1,value_2) 
+1

私はtotal_sumメソッドがそこに合計の代わりに使用されると信じていました。どんな場合でも、ドキュメント参照のために良い –

関連する問題