出现TypeError:%运算符不支持'type'与'int'操作数的问题求助
错误原因分析与修复方案
你遇到的TypeError: unsupported operand type(s) for %: 'type' and 'int'错误,核心问题是调用is_even()函数时没有传入需要判断的整数参数。
看你的代码:在main()函数里,你已经通过输入获取了整数x,但调用is_even()时没有把x传递给函数,导致is_even()内部的参数n没有得到有效的整数值(如果存在笔误,比如误传了int这个类型对象,也会触发同样的类型错误)。
修复后的代码
# 判断输入整数x的奇偶性 def main(): x = int(input("What is x? ")) if is_even(x): # 传入参数x print("x is even.") else: print("x is odd.") def is_even(n): if n % 2 == 0: return True else: return False main()
额外优化建议
is_even函数可以简化为一行代码,逻辑完全一致:
def is_even(n): return n % 2 == 0
内容的提问来源于stack exchange,提问作者melvinthedev
相关产品推荐
相关产品推荐

