那个么为什么结果并没有改变呢?结果是全局的,但即使在def add()打印正确答案时打印(结果),结果也将返回零
number = int(input("enter your first num: "))
operation = input("enter your operation: ")
second_number = int(input("enter your second num: "))
def cal(num1,op,num2):
result = 0
def add():
result = num1+num2
print(result)
def multiply():
result = num1 * num2
def devide():
if not num2==0:
result = num1 / num2
else:
result = 'num2 can\'t be zero'
def default():
print("Incorrect option")
switch = {
'+':add,
'*':multiply,
'/':devide
}
switch.get(op,default)()
return result
print(cal(number,operation,second_number))
Tags:
操作函数中的
result
变量与cal
函数的作用域不同。让这些函数返回一个值,然后从cal
返回该值,您将获得所需的行为全球结果超出了范围
相关问题 更多 >
编程相关推荐