Python 在这个代码中,您有一个门的代码和一个键盘

Python 在这个代码中,您有一个门的代码和一个键盘,python,function,keypad,Python,Function,Keypad,我有一扇门,上面有一个键盘密码。如果你得到了正确的代码,你说正确,如果你得到了错误,它只是打印错误的代码(只是为了调试)。然而,我不明白为什么在编写代码时什么都没发生。这里是python顺便说一下: realnumber = [12345] inputnumber = [] def main(): integer = input("Input a list of numbers to open the door:") if integer == realnumbe

我有一扇门,上面有一个键盘密码。如果你得到了正确的代码,你说正确,如果你得到了错误,它只是打印错误的代码(只是为了调试)。然而,我不明白为什么在编写代码时什么都没发生。这里是python顺便说一下:

realnumber = [12345]
inputnumber = []

def main():
  integer = input("Input a list of numbers to open the door:")

  if integer == realnumber:
    print(realnumber)
    print("Correct")
  else:
    inputnumber.append(integer)
main()

这主要是猜测,但有两个问题在这里对我来说很突出:

integer = input("Input a list of numbers to open the door:")
您可能不知道,不管您的输入如何,此处名为integer的变量都将成为字符串。我建议你试试:

integer = int(input("Input a list of numbers to open the door:"))
或者更好,像这样的东西来捕捉无意义的输入:

try:
    integer = int(input("Input a list of numbers to open the door:"))
except ValueError:
    print("Invalid Input")
第二,

  if integer == realnumber:
这里您试图将变量“integer”(当前是一个字符串,但根据我的建议更改为“int”变量)与realnumber进行比较,但realnumber是一个只有一个输入的变量列表

我建议您选择以下更改之一:

  if integer == realnumber[0]:


“我不明白为什么我编写代码时什么都没发生”-请学习如何更具体。编码时很少发生事情,您的意思是在执行时吗?是真的什么都没有发生,还是因为它运行但不打印任何内容而让您感到困惑?您不在“其他”中打印任何内容。你预计会发生什么?对不起,我的意思是,当你为键盘号码及其正确性输入答案时,它也不会正确打印,回答你的问题蝙蝠侠567我试过了,但每次它都只是不停地打印数字,即使它是正确的,所以这就像它跳过了if语句。请查看
integer
realnumber
的值,如果你认为它们应该匹配。它们是真的匹配,还是不同?(提示:字符串和列表是不同的。)
realnumber = 12345