我编写的求两数最大值的Python程序存在哪些错误?
代码错误分析与修正
你的代码存在三个关键错误,具体如下:
- 函数内部参数逻辑错误:在
largestintwo函数中,你将传入的参数a、b重新赋值为函数外的n1、n2,这既忽略了函数的输入参数,还会触发NameError(因为n1、n2在函数定义时还未被定义,函数内部无法直接访问)。 - 返回值逻辑错误:无论
a和b的大小关系如何,函数始终返回b,完全没有实现“返回两数最大值”的需求。正确逻辑应为:若a > b则返回a,否则返回b。 - 函数调用拼写错误:调用函数时写成了
lagestintwo(n1,n2),正确的函数名是largestintwo(缺失字母r),这会导致函数未定义的报错。
修正后的代码
def largestintwo(a, b): if a > b: return a else: return b n1 = int(input('num1: ')) n2 = int(input('num2: ')) result = largestintwo(n1, n2) print('largest:', result)
简化写法(可选)
你也可以直接使用Python内置的max()函数简化逻辑,效果一致:
def largestintwo(a, b): return max(a, b) n1 = int(input('num1: ')) n2 = int(input('num2: ')) result = largestintwo(n1, n2) print('largest:', result)
内容的提问来源于stack exchange,提问作者naidu
相关产品推荐
相关产品推荐

