[问题] 输入多个零

楼主: s4028600 (佑)   2019-11-14 19:36:49
x=int(input())
a="abcd%d" % (x)
print(a)
如果我输入002
打印出来却是
abcd2
想要打印出
abcd002
要怎么做
作者: rexyeah (ccccccc)   2019-11-14 19:40:00
google zfill
作者: junwh (What the hell)   2019-11-14 19:46:00
a = "abcd%03d" % (x)
楼主: s4028600 (佑)   2019-11-14 19:57:00
zfill不管放哪里都没效果感谢2楼有效了 但是不懂原理...如果4位数是%04d吗
作者: s860134 (s860134)   2019-11-14 20:01:00
问题是出在你指定了 format 的格式为 %d换 %s 就没问题了 什么都不用改查询 python string format 的文件
楼主: s4028600 (佑)   2019-11-14 20:04:00
%s结果也一样喔
作者: s860134 (s860134)   2019-11-14 20:07:00
妈阿 你一开始就用int转了当然啊拔掉那个int, %d 换成%sinput 吃进来天生就是 string 只有你动手脚才会把 string转成 int 自然没有前置 0
楼主: s4028600 (佑)   2019-11-14 20:14:00
喔 我是直接拿别人的来用 原理没理解透彻 感谢解说 python string format 的文件在哪里阿
作者: s860134 (s860134)   2019-11-14 20:17:00
Google "python string format "前三个看一看就差不多了也可以看官方文件,很详细,只是英文版
楼主: s4028600 (佑)   2019-11-14 20:21:00
嗯...都是英文不然就是好复杂...慢慢研究...感谢
作者: s860134 (s860134)   2019-11-14 20:23:00
有基础后买本书看吧 不然总是会卡在一些基础问题
楼主: s4028600 (佑)   2019-11-14 20:24:00
楼主: s4028600 (佑)   2019-11-14 20:28:00
有想买 但是毕竟用不到...等更闲的时候吧...
作者: junwh (What the hell)   2019-11-14 20:34:00
%03d就是共三位,用0补满,但只是用来解你文中想印002的case若想打什么就印什么,就像楼上所说的用字串吧
作者: refusekkk (另类3k)   2019-11-15 00:54:00
...
作者: CodingMan (程式侠)   2019-11-15 08:28:00
写程式最基本就是看英文
作者: qwaszx780917 (白目凉良)   2019-11-15 11:42:00
%s
作者: ciaoPTT (Ciao)   2019-11-15 23:34:00
罚你型别重看一遍
作者: s860134 (s860134)   2019-11-15 23:44:00
他整天东抄抄西抄抄,讲好几次了= =,
楼主: s4028600 (佑)   2019-11-16 01:33:00
抱歉...不过很感谢各位的解答

Links booklink

Contact Us: admin [ a t ] ucptt.com