Python 未满足我的While循环条件

Python 未满足我的While循环条件,python,loops,while-loop,Python,Loops,While Loop,我不明白为什么我的循环不会停止。当我输入一个介于0和300之间的数字时,它会一直转到else部分 #validar puerta puerta = '' lista4 = [] for x in range(0, 301): lista4.append(x) active = True while active: if puerta == 'general' or (puerta in lista4): dispositivos.append(puerta)

我不明白为什么我的循环不会停止。当我输入一个介于0和300之间的数字时,它会一直转到else部分

#validar puerta
puerta = ''
lista4 = []
for x in range(0, 301):
    lista4.append(x)
active = True
while active:
    if puerta == 'general' or (puerta in lista4):
        dispositivos.append(puerta)
        active = False
    else:
        puerta = input('Ingrese número de puerta: ')

while循环不会停止,因为当您通过
input()
函数输入一个数字时,它是一个字符串,但生成的数字列表是数字,因此您必须使用
int()
将输入转换为数字,或使用
str()将列表中的数字转换为字符串

当我在提示下键入
general
时,它对我有效。然后它会失败,因为没有定义
dispositivos