注册 登录
编程论坛 Python论坛

求助:format用法

shenxian___ 发布于 2019-09-20 16:54, 2240 次点击
请教各位:为什么在format里写“abc”会报错,写数字就不报错,是否需要format所有参数类型一样才能运行?
f=open('123.txt','w')
for i in range(5):
    if i<4:
        f.write('第{0:1d}行数据;\n'.format(i+1))
    else:
        f.write('第{0:1d}行数据。\n{1:2d}'.format(i+1,'abc'))
f.close()
4 回复
#2
wp2319572019-09-23 16:44
回复 楼主 shenxian___
一个对应一个  逐个对应
#3
shenxian___2019-09-26 10:58
回复 2楼 wp231957

你好:

else:
        f.write('第{0:1d}行数据。\n{1:2d}'.format(i+1,'abc'))

其中:{0:1d}对应i+1
      {1:2d}对应abc
我这种对应方法是不是不对,总是报错,但是把abc换成数字是可以执行的,不知何故,恳请给予指正,谢谢!
#4
wp2319572019-09-27 09:19
回复 3楼 shenxian___
d 对应的是整型数据
s 才是对应字符串

程序代码:

>>> i=189
>>> print('第{0:1d}行数据。\n{1:3s}'.format(i+1,'abc'))
第190行数据。
abc
>>>

#5
shenxian___2019-10-09 14:15
回复 4楼 wp231957
非常感谢!!!
1