为了账号安全,请及时绑定邮箱和手机立即绑定

定义函数的问题

# Enter a code

x=100

def my_abs(x):

    if not isinstance(x, int) or not isinstance(x, float):

        print('param type error.')

        return None

    if x >= 0:

        return x

    else:

        return -x

result=my_abs(x)

print(result)


#这个程序,求绝对值。输入x=100,怎么结果还是

param type error.

None

呢?我是把老师的课例代码复制过去的,然后在后面增加了print()语句。

应该的结果是100啊。

请老师指点


正在回答

3 回答

确实,绝对是and,同道中人

0 回复 有任何疑惑可以回复我~

聪明呀,确实是这样!

0 回复 有任何疑惑可以回复我~

我找到问题了,语句中的or 应该是and

既不是整数型,也不是浮点数

我发现讲课老师的一个bug了

4 回复 有任何疑惑可以回复我~
#1

慕侠2194797

假如x是整数或小数,第一个if都是True,都会执行第一个步骤,显然不行,如果or改成and,改成and后,x为整数或小数时,第一个if都为False,x不为整数或小数时,第一个if为True,这样就都可以了
2020-10-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Python3 入门教程(新版)
  • 参与学习       154070    人
  • 解答问题       1074    个

python3入门教程,让你快速入门并能编写简单的Python程序

进入课程

定义函数的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信