python条件判断句

def find_even(num):
if type(num/2)== <class 'int'>:
return str(num)+'是偶数'
else:
return str(num)+'不是偶数'
print(find_even(42))
print(find_even(33))

提示第二行出错,是错在什么地方呢?条件句中不能以判断类型为条件吗?
python

python中可以在条件语句里用类型判断,但不是用代码中所示的那样,可以用isinstance()方法判断,比如写成 if isinstance(num/2,int),这样。另外要说明的是,代码即使改成这样,运行也不会正确,因为在判断语句中使用了num/2这个表达式,运算的结果是一个浮点数类型,所以条件恒不成立。使用num%2==0进行判断。

如果解答对你有帮助,请点击我回答的采纳按钮。

if type(num/2)== <class 'int'>:
改为
if type(num/2)== int:

判断是偶数应该用if num%2==0: 判断num除以2的余数是否等于0
你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

def find_even(num):
    if num%2==0:
        return str(num)+'是偶数'
    else:
        return str(num)+'不是偶数'
print(find_even(42))
print(find_even(33))

img

判断是否是2的倍数应该用取余,‘/’的结果是小数, 有用的话点一下采纳

img

img

题主的代码存在多处错误,按照严重程度列写如下:

  1. 判断奇偶应该用模(%)运算而不是除法(/)运算

  2. 除法(/)运算的结果是浮点数,比如4/2,其结果是2.0,而非2;要想到得到整型商,请使用整除(//)运算

  3. 类型判断应该是isinstance函数,而不是type函数,比如判断x是否是整数,可以这样写:isinstacne(x, int)