[問題] 請問format輸出可以是整數嗎?

看板Python作者 (阿信)時間6年前 (2018/10/13 11:40), 編輯推噓7(7013)
留言20則, 8人參與, 6年前最新討論串1/1
不好意思,小弟最近學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

10/13 11:58, 6年前 , 1F
整數的0000009876543210不就9876543210
10/13 11:58, 1F

10/13 12:01, 6年前 , 2F
因為題目要求要保留前面的0,所以覺得不知所措QQ
10/13 12:01, 2F

10/13 12:40, 6年前 , 3F
不然你題目貼出來
10/13 12:40, 3F

10/13 12:43, 6年前 , 4F
只用zfill不行嗎?
10/13 12:43, 4F

10/13 13:06, 6年前 , 5F
金融卡完整卡號是16碼, 但不是每間銀行的帳號長度都會
10/13 13:06, 5F

10/13 13:07, 6年前 , 6F
達16碼,當未達16碼時,前面須補上0。
10/13 13:07, 6F

10/13 13:07, 6年前 , 7F
試著寫一段程式碼,如當輸入卡號「9876543210」時,會加
10/13 13:07, 7F

10/13 13:07, 6年前 , 8F
上6個0,最後輸出16位的整數。
10/13 13:07, 8F

10/13 13:23, 6年前 , 9F
所以他是要求你print出來還是怎樣
10/13 13:23, 9F

10/13 13:33, 6年前 , 10F
當成字串處理 自己先去判斷帳號有幾碼 不夠部份補上0字串
10/13 13:33, 10F

10/13 13:38, 6年前 , 11F
if len(ID)<16:ID='{}{}'.format('0'*(16-len(ID)),ID)
10/13 13:38, 11F

10/13 13:58, 6年前 , 12F
用zfill解 不會有前面是0補齊的整數呀
10/13 13:58, 12F

10/13 15:03, 6年前 , 13F
Python format網站我記得有,淺顯易懂,try it
10/13 15:03, 13F

10/13 16:44, 6年前 , 14F
?? print str(input()).zfill(16)
10/13 16:44, 14F

10/14 01:20, 6年前 , 15F
大家都誤會意思了 應該是不想有‘’號框著 所以應該
10/14 01:20, 15F

10/14 01:20, 6年前 , 16F
是for loop print吧XD
10/14 01:20, 16F

10/14 12:21, 6年前 , 17F
handsome大說的沒錯 XD,也很謝謝大家幫助
10/14 12:21, 17F

10/14 12:22, 6年前 , 18F
後來還是用原本的這個print("%016d" % int(input())) XD
10/14 12:22, 18F

10/14 18:05, 6年前 , 19F
應該只是題目理解問題啦 不可能要求int前面有0的
10/14 18:05, 19F

10/14 19:18, 6年前 , 20F
原來如此XD
10/14 19:18, 20F
文章代碼(AID): #1RmMa-Gj (Python)
文章代碼(AID): #1RmMa-Gj (Python)