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 Shell 上的输出

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

所以我只是想知道为什么它要求输入函数两次,而不是一次。这可能是一个愚蠢的问题,但感谢您的回答。

4

2 回答 2

5

这两行导致您的问题:

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

你打calculator了两次电话,所以它要求你输入两次。

要修复您的代码,只需将结果存储calculator(a, b)在一个变量中,然后将其打印出来:

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

您要求 Python print(calculator(a,b))- 这意味着 Python 必须对函数进行两次评估。如果您只想输入一次,请存储calculator(a,b)在一个变量中并打印该变量。

于 2013-01-13T09:06:39.677 回答