看板 Python 關於我們 聯絡資訊
不好意思,小弟最近學python遇到一個問題 "{:0>16d}".format(int(input(9876543210))) 但輸出是'0000009876543210',是字串的格式 有試著在裡面又加一個int變成int("{:0>16d}".format(int(input()))) 但出輸前面的六個0就不見了,變成9876543210 後來有用%來完成指令,但不知道能不能用format來達成同樣的事情 請問各位大大,有辦法用format讓輸出變成整數0000009876543210嗎? 希望有好人指點迷津QQ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 117.19.68.72 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1539402046.A.42D.html
djshen: 整數的0000009876543210不就9876543210 10/13 11:58
cscscs56: 因為題目要求要保留前面的0,所以覺得不知所措QQ 10/13 12:01
djshen: 不然你題目貼出來 10/13 12:40
rexyeah: 只用zfill不行嗎? 10/13 12:43
cscscs56: 金融卡完整卡號是16碼, 但不是每間銀行的帳號長度都會 10/13 13:06
cscscs56: 達16碼,當未達16碼時,前面須補上0。 10/13 13:07
cscscs56: 試著寫一段程式碼,如當輸入卡號「9876543210」時,會加 10/13 13:07
cscscs56: 上6個0,最後輸出16位的整數。 10/13 13:07
djshen: 所以他是要求你print出來還是怎樣 10/13 13:23
coeric: 當成字串處理 自己先去判斷帳號有幾碼 不夠部份補上0字串 10/13 13:33
coeric: if len(ID)<16:ID='{}{}'.format('0'*(16-len(ID)),ID) 10/13 13:38
TitanEric: 用zfill解 不會有前面是0補齊的整數呀 10/13 13:58
justoncetime: Python format網站我記得有,淺顯易懂,try it 10/13 15:03
rexyeah: ?? print str(input()).zfill(16) 10/13 16:44
handsomeLin: 大家都誤會意思了 應該是不想有‘’號框著 所以應該 10/14 01:20
handsomeLin: 是for loop print吧XD 10/14 01:20
cscscs56: handsome大說的沒錯 XD,也很謝謝大家幫助 10/14 12:21
cscscs56: 後來還是用原本的這個print("%016d" % int(input())) XD 10/14 12:22
Kazimir: 應該只是題目理解問題啦 不可能要求int前面有0的 10/14 18:05
rexyeah: 原來如此XD 10/14 19:18