晨曦到日暮 发表于 2017-4-5 20:26:22

关于python的简单的问题

I love fishc中的空格第一个和第二个为什么不一样长?
'com'为什么在第13个?{:5_94:}

gopythoner 发表于 2017-4-5 20:40:35

本帖最后由 gopythoner 于 2017-4-5 20:47 编辑

第一个问题,这个是跟\t这种制表符的站位问题有关的,具体我也不是很清楚,但是你可以试试在I前面依次增加一个字母,可以发现前面的空格慢慢减少之后又慢慢增加
第二个问题,你把每个字符当做一个,把制表符\t当做一个,从左往右数(记住第一个位置是从0开始,不是1),数到com(此时com是一个整体,你就当这是一个字母就行了)的时候就是13了

晨曦到日暮 发表于 2017-4-5 21:08:11

gopythoner 发表于 2017-4-5 20:40
第一个问题,这个是跟\t这种制表符的站位问题有关的,具体我也不是很清楚,但是你可以试试在I前面依次增加 ...

第一个问题:前面的空格好像至多为7
第二个问题:第十三个好像是点

晨曦到日暮 发表于 2017-4-5 21:08:43

gopythoner 发表于 2017-4-5 20:40
第一个问题,这个是跟\t这种制表符的站位问题有关的,具体我也不是很清楚,但是你可以试试在I前面依次增加 ...

第一个问题:前面的空格好像至多为7
第二个问题:第十三个好像是点。

gopythoner 发表于 2017-4-5 22:00:37

我括号里面特意说了第一个是从0开始数的,点是在12个,第13个是com

晨曦到日暮 发表于 2017-4-5 22:18:01

从I 开始?

雾霾下的星空 发表于 2017-4-6 08:36:06

晨曦到日暮 发表于 2017-4-5 22:18
从I 开始?

是的,I是第0个字符

冬雪雪冬 发表于 2017-4-6 09:08:13

I love fishc中的空格第一个和第二个为什么不一样长?
这要从制表符的含义说起,计算机在应用初期只有文本状态,一般是80列25行,将每8列作为一个间隔,制表符就是把文字右移到间隔的位置。如果前面的文字恰巧在第八个的文字位置,则再右移8个。
str2 = 'I\tlove\tfishc.com'
print('12345678'*4) #标尺
print(str2)
print(str2.expandtabs())
print('1234567\t8')
print('12345678\t8')

晨曦到日暮 发表于 2017-4-6 21:01:11

冬雪雪冬 发表于 2017-4-6 09:08
I love fishc中的空格第一个和第二个为什么不一样长?
这要从制表符的含义说起,计算机在应用初期只有文本 ...

第二个问题com是怎么数的?

冬雪雪冬 发表于 2017-4-6 21:11:40

晨曦到日暮 发表于 2017-4-6 21:01
第二个问题com是怎么数的?

\t算作一个字符,从0开始数,com的c在13位。
如果expandtabs后,就要算空格是数量了,本例是22位。

zhanghan1993 发表于 2017-4-7 09:44:36

{:5_91:}

zhanghan1993 发表于 2017-4-7 09:46:23

{:5_90:}

晨曦到日暮 发表于 2017-4-7 20:59:05

冬雪雪冬 发表于 2017-4-6 21:11
\t算作一个字符,从0开始数,com的c在13位。
如果expandtabs后,就要算空格是数量了,本例是22位。

谢谢!
页: [1]
查看完整版本: 关于python的简单的问题