为什么这个while循环的第一个缩进没有,后面都正常,不应该啊


unconfirmed_users = ['mark', 'tony', 'joy']
confirmed_users = []
while unconfirmed_users:
    current_user = unconfirmed_users.pop()
    print(current_user + "\tis confirmed")
    confirmed_users.append(current_user)
print("every one is confirmed")

img

看这第一个joy没有缩进,我是不是发现了什么不得了的东西

因为中间是用制表符(\t)分隔的,而制表符的宽度是系统来计算的。如果你在某个位置输出了一个制表符,系统会计算这一行左边有多少个字符,然后计算此处再加多少个字符可以使字符数刚好是4的倍数,那么制表符就占多少个字符的宽度。
比如:
joy\t
joy占3个字符,\t占1个字符,刚好使joy\t的字符数是4的倍数(4)。
tony\t
tony占4个字符,\t占4个字符,刚好使tony\t的字符数是4的倍数(8)。
在不同系统上,\t最大宽度不同。有的是4个字符,有的是8个字符,还可能更多。

天。。。我竟然没看懂你在说啥,你能解释清楚一点吗?