Python中如何使用=、>、<比较两个函数,如何正确调用函数
核心问题说明
- 你当前代码的逻辑错误是直接对
plus、multiply两个函数对象本身做大小比较,而非比较两个函数的计算返回值,直接比较函数对象只会对比内存地址,和你预期的运算结果比较逻辑完全不符 - 函数必须传入匹配的参数调用后,才会返回对应的计算结果,你已经通过input收集了四个输入值,分别对应两个函数的入参,调用时直接传入即可
修正后的完整代码
def plus(x,y): return x+y def multiply(u,z): return u*z answer1 = int(input("what is x ?")) answer2 = int(input("what is y? ")) answer3 = int(input("what is u ?")) answer4 = int(input("what is z? ")) # 先调用函数拿到计算结果 plus_res = plus(answer1, answer2) multiply_res = multiply(answer3, answer4) # 比较返回的计算结果 if plus_res > multiply_res: print("plus is bigger") elif multiply_res > plus_res: print("multiply is bigger") else: print("they are equal")
补充说明
- 如果你需要固定参数对比两个函数的大小,可以直接把参数写死在调用位置,不需要每次走输入收集逻辑
- 调用函数时要保证传入的参数数量、类型和函数定义的入参要求匹配,否则会触发参数相关报错
内容的提问来源于stack exchange,提问作者user22
相关产品推荐
相关产品推荐

