Python函数求助:判断b是否为a的除数的函数未返回预期结果
问题分析与修正方案
你的代码里有两个关键语法错误,导致无法得到预期结果:
- 赋值语句顺序错误:Python中赋值是变量在左,值在右,你写的
a % b = i是反向赋值,会触发语法错误,正确写法是i = a % b。 - 条件判断误用运算符:第二个
if i = 0里的=是赋值运算符,不是比较相等的==,这行代码实际是把0赋值给i,而非判断i是否为0,必须改成if i == 0。
另外,原代码只是调用了函数但没有打印结果,所以你看不到返回值,需要加上print()来输出。
修正后的完整代码:
def is_divisor(a,b): i = a % b if i > 0: return False if i == 0: return True print(is_divisor(10,5)) # 输出True
如果想简化代码,完全可以省略中间变量i,直接返回取模结果是否等于0的布尔值:
def is_divisor(a,b): return a % b == 0 print(is_divisor(10,5)) # 输出True
内容的提问来源于stack exchange,提问作者voidnoid
相关产品推荐
相关产品推荐

