问题描述
我有一扇门,它有一个键盘密码。如果你的代码正确,你会说正确,如果你弄错了,它只会打印错误的代码(仅用于调试)。但是,我不明白为什么我编码时什么也没有发生。这是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]:
或
realnumber = 12345