def find_outlier(lstOfints):
  for integer in lstOfints:
    #print(integer)
    if integer % 2 ==1:
      integer
    elif integer % 2 == 0:
      integer
  return integer


我一直得到错误的答案,我不知道发生了什么。
这就是问题:


  您将得到一个包含整数的数组(长度至少为3,但可能会非常大)。除了单个整数N以外,该数组要么完全由奇数整数组成,要么完全由偶数整数组成。编写一个将数组作为参数并返回此“异常值” N的方法。

最佳答案

这似乎为我工作:

def find_outlier(lstOfints):
    if lstOfints[0] % 2 == 1 and lstOfints[1] % 2 == 1:
        for integer in lstOfints[2::]:
            if integer % 2 == 0:
                return integer
    elif lstOfints[0] % 2 == 0 and lstOfints[1] % 2 == 0:
        for integer in lstOfints[2::]:
            if integer % 2 == 1:
                return integer
    else:
        if lstOfints[0] % 2 == lstOfints[2] % 2:
            return lstOfints[1]
        else:
            return lstOfints[0]


首先,我正在查看此列表是不是所有赔率还是所有偶数都排除了异常值。然后,如果是偶数,它将遍历列表以查找奇数,如果列表全为奇数,则相同。但是,如果离群值在前两个数字中,则它将通过比较列表中第三个数字的模数来检查看离群值是第一个数字还是第二个数字。

关于python - 查找奇偶校验离群值Python,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59538186/

10-11 07:36