几乎在那里:给定一个整数 n,如果 n 在 100 或 200 的 10 以内,则返回 True

问题描述

Almost There questions

“如果 n 在 100 或 200 的 10 之内”与使用绝对值函数有何关联?

我知道绝对值是什么,但不使用 abs() 难道没有更简单/更干净的方法吗?

谢谢

解决方法

当然:你绝对可以(我认为应该)这样写:

def almost_there(n):
    return 90 <= n <= 110 or 190 <= n <= 210

我认为这更清楚地将您的意图传达给下一个接触代码的人。但是,我认为您的老师希望您了解 abs(x - y) <= z 的“习语”,即“x 在 y 的 z 范围内”,因为这不会是您最后一次看到它,无论是在软件中还是在在数学中。事实上,您会在某些科目的数学中看到|x-y|<z很多;例如,这是一篇关于 epsilon-delta proofs 的文章。

我认为我写的代码更 Pythonic。也就是说,您需要查看您的老师描述的代码,并能够立即将其识别为与 |x-y|<z 相同的内容,无论其编写方式如何。