不好意思,小弟最近學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
作者:
djshen (djshen)
2018-10-13 12:40:00不然你題目貼出來
作者:
rexyeah (ccccccc)
2018-10-13 12:43:00只用zfill不行嗎?
金融卡完整卡號是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)
Python format網站我記得有,淺顯易懂,try it
作者:
rexyeah (ccccccc)
2018-10-13 16:44:00?? print str(input()).zfill(16)
大家都誤會意思了 應該是不想有‘’號框著 所以應該是for loop print吧XD
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