0

これが私のコードです:

def calculator(value1,value2):

    function=input("Function?")
    if function=="*":
     return value1*value2
    if function=="/":
     return value1/value2
    if function=="+":
     return value1+value2
    if function=="-":
     return value1-value2
a=float(input("value 1:"))
b=float(input("value 2:"))
calculator(a,b)
print(calculator(a,b))

Python シェルでの出力

value 1:5
value 2:5
Function?/
Function?/
1.0

だから、関数の入力を1回ではなく2回要求するのはなぜだろうと思っています。これはおそらくばかげた質問ですが、答えてくれてありがとう。

4

2 に答える 2

5

次の 2 行が問題の原因です。

calculator(a,b)
print(calculator(a,b))

2 回呼び出しcalculatorているため、入力を 2 回求めています。

コードを修正するには、結果をcalculator(a, b)変数に保存してから出力します。

result = calculator(a, b)
print(result)
于 2013-01-13T09:06:16.333 に答える
2

print(calculator(a,b))これは、Python が関数を 2 回評価する必要があることを意味します。一度だけ入力したい場合は、変数に保存calculator(a,b)してその変数を出力します。

于 2013-01-13T09:06:39.677 に答える