使用 Luhn 的模块我遇到了 IF 语句的问题

Using Luhn's module I am having a problem with IF statements

import luhn
from luhn import *

#BIN Must Be 6-Digits Long.
def gen():
  BIN = input("Enter A BIN Number: ")
  output = []
  for number in BIN:
    output.append(number)
  output = [int(num) for num in output]
  return (output)
BIN = gen()
if BIN <6 and len(BIN) is not 8:
    print('Invalid BIN!')
else:
    print('BIN Added To Directory!')


gen()

特别是在 'if' 部分,我的意图是 'BIN' 应该是一个整数,小于或大于 6 print 'invalid' else print 'added to directory'。此外,总的来说,我要寻找的是 BIN 的长度是否不是 6 位数字或大于 6 位数字的打印 'error'.

我认为问题在于您希望 BIN 同时是一个数字和一个列表。因此,在 if 条件下,您正在检查 BIN 是否为小于 6 的 number,同时检查 length 的。

我想您可能想在同一行上执行这两个操作。所以,这就是我的建议;无需更改 BIN 的类型。最好将它用作 str 就像这样:

BIN = input("Enter A BIN Number: ")
if eval(BIN) <6 and len(BIN) != 8:
    print('Invalid BIN!')
else:
    print('BIN Added To Directory!')