提示符是:
给定一个int n,如果它在100或200的10之内,则返回True。注意:abs(num)计算数字的绝对值。
离。 near_hundred(93)→真
near_hundred(90)→True
near_hundred(89)→False
我想要的代码可以为任何数字返回“接近100”的值,所以我使用了这种技术:
def near_hundred(n):
r = n % 100
r = abs(r)
return( r >= 90 or r <= 10)
问题是测试值'0','5'或'290'我的程序返回假阴性。我不明白是什么导致了这个?
答案 0 :(得分:1)
return (abs(100-n) <= 10) or (abs(200-n) <= 10)
答案 1 :(得分:0)
我的解决方案:
def nearHundred(n):
if 90 <= n <= 110 or 190 <= n <= 210:
return True
else:
return False
pass
答案 2 :(得分:0)
我的解决方案 - 可能不是最有效但可读的
def near_hundred(n):
if 90 <= n <= 110:
return True
elif 190 <= n <= 210:
return True
else:
return False
答案 3 :(得分:-1)
if (n>=90 and n<=110 or n>=190 and n<=210):
return True
else:
return False