[問題] 請問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