检查号码是在号码之后还是在号码之前

时间:2017-03-10 15:51:25

标签: python python-2.7

假设我有四个数字,比如说2346,我想检查一下,它们是在数字之前还是之后。例如,如果我选择2,那么我希望代码说3就在数字之后;当我选择3时,代码应该在2之前输出3,而在4之后输出3;当我选择4代码时,输​​出3就在4之前。我如何在Python中实现这一目标? 这是我到目前为止所尝试的......

a = [2,3,4,6]
def check(noToCheck, List):
    if noToCheck in List:
        for elem in List:
            if noToCheck == elem+1:
                print elem+" comes just before "+noToCheck
            elif noToCheck == elem-1:
                print elem+" comes just after "+noToCheck
            else:
                pass

这种方法效果很好但是更清洁的方法是什么

1 个答案:

答案 0 :(得分:1)

这将获取一个名为num(例如5)的值,然后检查它是否是相邻数字(例如4和6)在数组中,如果是,则会打印它们。

def getContext(arr,num):
    if (num+1 in arr):
        print str(num+1) + " is after and in the array"        
    if (num-1 in arr):
        print str(num-1) + " is before and in the array"

arr = [2,3,4,6]

getContext(arr,2)