但是我们不能直接按下F5在Python IDLE的Shell中运行,我们需要在cmd内运行才有效。
来解释下:
range(5,-1,-1)的意思是:使用range产生一个列表,从5开始到-1之前结束。range的用法是range(开始,结束,步长),因为我们是要从大到小,所以我们用-1表示步长为-1,意味着每次-1,如果是-2,那就是每次-2
str(x)把x变量转换成字符串
print(mystr,end = "") 我们打印字符串之后,不换行,即end=""
最重要的一条语句:
print("\b" * (len(mystr)*2),end = "",flush=True)
"\b" * (len(mystr)*2)这句话的意思是,打印'\b'这个转义字符,然后打印len(mystr)*2次。len得到字符串长度,为什么要*2呢?要知道,我们用的字符串是中文,而1个中文字符 = 2个英文字符(占位),所以,如果字符串是英语,我们完全可以不*2,但是中文字符就不同了。具体小伙伴可以把*2去掉试试看
flush = True则是开启缓冲区
\b转义字符起了退格的功能,相当于在编辑文件的时候按下BackSpace键,从光标位置往前删掉一个字符
time.sleep(1)则是让程序暂停1秒
我们这样做的就能每次print之后,\b帮我们把一行内的字符都清光,这就是我们为什么要获得字符串长度的原因啦,还有就是Python的IDLE无法识别\b字符,所以我们只能在控制台看到正确的结果。
我们来看看结果。