如何简化过于宽泛的if语句?

时间:2019-04-09 21:14:04

标签: python-3.x simplify simplification

我不知道如何清楚地简化if语句运行的要求。 有没有更简单的方法可以做到这一点? 如果数字是10附近的2个整数(大于或小于),则该代码应返回True。

def nearten(num):
    if (abs(num - 2) % 10) == 0 or (abs(num + 2) % 10) == 0 or (abs(num - 1) % 10) == 0 or (abs(num + 1) % 10) == 0 or num % 10 == 0:
        return True
    return False

1 个答案:

答案 0 :(得分:3)

您肯定使事情复杂化了。这是一个更加灵活的版本:

def near_ten(num, close=2):
    return abs(10 - num) <= close

备用版本(如果您要查找的数字接近10的任何倍数):

def near_ten_multiple(num, close=2):
    return abs(10 - (num % 10)) <= close