[问题] 请问format输出可以是整数吗?

楼主: cscscs56 (阿信)   2018-10-13 11:40:43
不好意思,小弟最近学python遇到一个问题
"{:0>16d}".format(int(input(9876543210)))
但输出是'0000009876543210',是字串的格式
有试着在里面又加一个int变成int("{:0>16d}".format(int(input())))
但出输前面的六个0就不见了,变成9876543210
后来有用%来完成指令,但不知道能不能用format来达成同样的事情
请问各位大大,有办法用format让输出变成整数0000009876543210吗?
希望有好人指点迷津QQ
作者: djshen (djshen)   2018-10-13 11:58:00
整数的0000009876543210不就9876543210
楼主: cscscs56 (阿信)   2018-10-13 12:01:00
因为题目要求要保留前面的0,所以觉得不知所措QQ
作者: djshen (djshen)   2018-10-13 12:40:00
不然你题目贴出来
作者: rexyeah (ccccccc)   2018-10-13 12:43:00
只用zfill不行吗?
楼主: cscscs56 (阿信)   2018-10-13 13:06:00
金融卡完整卡号是16码, 但不是每间银行的帐号长度都会达16码,当未达16码时,前面须补上0。试着写一段程式码,如当输入卡号“9876543210”时,会加上6个0,最后输出16位的整数。
作者: djshen (djshen)   2018-10-13 13:23:00
所以他是要求你print出来还是怎样
作者: coeric ( )   2018-10-13 13:33:00
当成字串处理 自己先去判断帐号有几码 不够部份补上0字串if len(ID)<16:ID='{}{}'.format('0'*(16-len(ID)),ID)
作者: TitanEric (泰坦)   2018-10-13 13:58:00
用zfill解 不会有前面是0补齐的整数呀
作者: justoncetime (台北丛林好冷~)   2018-10-13 15:03:00
Python format网站我记得有,浅显易懂,try it
作者: rexyeah (ccccccc)   2018-10-13 16:44:00
?? print str(input()).zfill(16)
作者: handsomeLin (DoGLin)   2018-10-14 01:20:00
大家都误会意思了 应该是不想有‘’号框著 所以应该是for loop print吧XD
楼主: cscscs56 (阿信)   2018-10-14 12:21:00
handsome大说的没错 XD,也很谢谢大家帮助后来还是用原本的这个print("%016d" % int(input())) XD
作者: Kazimir (Kazimir)   2018-10-14 18:05:00
应该只是题目理解问题啦 不可能要求int前面有0的
作者: rexyeah (ccccccc)   2018-10-14 19:18:00
原来如此XD

Links booklink

Contact Us: admin [ a t ] ucptt.com