我试图在Python中打印整数列表作为字符,但是当我尝试打印它时,前几个值正在丢失,
这是发生了什么,
S = [55, 58, 5, 13, 14, 12, 22, 20, 70, 83, 90, 69, 84, 91, 80, 91]
# Now create an empty String,
D = ""
for i in S:
D += chr(i)
D = ', '.join(map(str, D))
print(D)
Run Code Online (Sandbox Code Playgroud)
最终的输出是,
, ?, ?, ?, ¶, F, S, Z, E, T, [, P, [
Run Code Online (Sandbox Code Playgroud)
显然,不打印和不打印的chr值55 , 58, 513
这是未打印的值,
7:?
Run Code Online (Sandbox Code Playgroud)
该chr值13可能是一个空格或回车键.这只是我的猜测,因为当我打印时chr(13),没有任何显示.但是为什么它也会删除前三个值.?
但是,如果我申请条件,
if i == 13:
i = i-1
Run Code Online (Sandbox Code Playgroud)
代码打印所有值,
7, :, ?, ?, ?, ?, ?, ¶, F, S, Z, E, T, [, P, [
Run Code Online (Sandbox Code Playgroud)
Ascii 13是回车符(\r,输入键).在类型编写器中,它将光标返回到行的开头,但它不会创建新的行(\n),因此当您打印某些内容时,它会覆盖之前该行中的内容.看这个:
for i in range(10):
print("\r%d" % i, end="")
sleep(1)
Run Code Online (Sandbox Code Playgroud)
额外信息:在基于Unix的系统上,\n表示回车和换行,但在Windows系统上,应明确指定新的line(\n)和回车符(\r).这就是为什么在基于Unix的系统上创建的文本文件看起来像Windows上的一个长期连续线.
| 归档时间: |
|
| 查看次数: |
634 次 |
| 最近记录: |