这是我的代码:
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
所以我只想知道它为什么要求输入两次功能,而不是一次。这可能是一个愚蠢的问题,但感谢您的回答。
答案 0 :(得分:5)
这两行导致了您的问题:
calculator(a,b)
print(calculator(a,b))
您正在拨打calculator
两次,因此要求您输入两次。
要修复代码,只需将calculator(a, b)
的结果存储在变量中,然后将其打印出来:
result = calculator(a, b)
print(result)
答案 1 :(得分:2)
你问Python print(calculator(a,b))
- 这意味着Python必须两次评估该函数。如果您只想输入一次,请将calculator(a,b)
存储在变量中并打印该变量。