python continue的问题

最近在学习python
我知道continue的作用是跳出本次循环
但是今天我写了下面的代码运行逻辑让我懵逼了

a = 2

while True:
    print (a)
    if a == 1:
        break

    else:
        a = input("a: ")
        print (a)
        continue

print(a)

我在else里重新把a赋值为1
讲道理 if 再次判断 a 为 1 应该就会退出while循环了
但是第二次尽管 if 逻辑表达式为True
但是还是会跳到else执行

下面是输出 不管输入什么都是跳到else 这是为什么呢?

2
a: 1
1
1
a: 1
1
1
a: 
阅读 3.1k
2 个回答

input读进来的是字符串,拿"1" == 1肯定判定失败

大概是它把input的1当作字符串了,试一下

a = int(input())
推荐问题