定义函数的问题

来源:9-5 Python函数参数

慕粉4438442

2020-09-10 01:08

# 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回答

  • qq_慕仔0499523
    2021-02-22 20:59:26

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

  • Augenst
    2021-01-13 09:46:42

    聪明呀,确实是这样!

  • 慕粉4438442
    2020-09-10 01:13:18

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

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

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

    慕侠2194...

    假如x是整数或小数,第一个if都是True,都会执行第一个步骤,显然不行,如果or改成and,改成and后,x为整数或小数时,第一个if都为False,x不为整数或小数时,第一个if为True,这样就都可以了

    2020-10-04 11:02:40

    共 1 条回复 >

Python3 入门教程(新版)

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

154160 学习 · 1075 问题

查看课程

相似问题