一悵空 发表于 2020-6-30 23:16

python制表符求助

如图,制表符的长度不一样这是代码,,这是实际打印出来的,QQ后面的制表符距离合其他的距离不一样,求助怎么解决

平繁 发表于 2020-6-30 23:36

我在python软件里尝试是相同的间隔,可能是你用的编译软件对于汉字和英文有区分吧

goblin0427 发表于 2020-7-1 00:08

等一个学习机会

IEIEONE 发表于 2020-7-1 00:55

CSDN上找到了一个解释: \t前面内容得有8个字符的整数倍, 如果前八个字符当中的后半部分是空格则正常, 如果前八个全是字符没有空格,则增加八个空格

吾爱四叶草 发表于 2020-7-1 03:20

本帖最后由 吾爱四叶草 于 2020-7-1 03:23 编辑

utf8编码下一个中文占3个字符,unicode编码下中文是2个字符,
出现制表长度不一致的情况是因为字母和中文字符所占的长度不同
你用format函数格式化一下宽度就可以了

Smallhorse 发表于 2020-7-1 07:47

好像是中文和英文的区别

一悵空 发表于 2020-7-1 07:51

吾爱四叶草 发表于 2020-7-1 03:20
utf8编码下一个中文占3个字符,unicode编码下中文是2个字符,
出现制表长度不一致的情况是因为字母和中文字 ...

我是新手可能不会用 print(format("姓名\t\tQQ\t\t电话\t\t邮箱\t\t"))
这样子好像不行,方便的话教我一下 我百度的不是特别懂

RemMai 发表于 2020-7-1 08:00

pip install prettytable
轻松让你输出好看的表格。

一悵空 发表于 2020-7-1 08:11

RemMai 发表于 2020-7-1 08:00
pip install prettytable
轻松让你输出好看的表格。

你说的我现在还不会,我就是想打出来长度是一样的

一悵空 发表于 2020-7-1 08:15

print("{}\t\t{}\t\t{}\t\t{}\t\t".format("姓名","QQ","电话","邮箱"))
print("姓名{}QQ{}电话{}邮箱{}".format("\t\t","\t\t","\t\t","\t\t"))
这两种还是一样的,QQ后面的空格短
页: [1] 2 3
查看完整版本: python制表符求助