作者cscscs56 (阿信)
看板Python
標題[問題] 請問format輸出可以是整數嗎?
時間Sat Oct 13 11:40:43 2018
不好意思,小弟最近學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://webptt.com/m.aspx?n=bbs/Python/M.1539402046.A.42D.html
1F:→ djshen: 整數的0000009876543210不就9876543210 10/13 11:58
2F:→ cscscs56: 因為題目要求要保留前面的0,所以覺得不知所措QQ 10/13 12:01
3F:→ djshen: 不然你題目貼出來 10/13 12:40
4F:推 rexyeah: 只用zfill不行嗎? 10/13 12:43
5F:→ cscscs56: 金融卡完整卡號是16碼, 但不是每間銀行的帳號長度都會 10/13 13:06
6F:→ cscscs56: 達16碼,當未達16碼時,前面須補上0。 10/13 13:07
7F:→ cscscs56: 試著寫一段程式碼,如當輸入卡號「9876543210」時,會加 10/13 13:07
8F:→ cscscs56: 上6個0,最後輸出16位的整數。 10/13 13:07
9F:→ djshen: 所以他是要求你print出來還是怎樣 10/13 13:23
10F:→ coeric: 當成字串處理 自己先去判斷帳號有幾碼 不夠部份補上0字串 10/13 13:33
11F:推 coeric: if len(ID)<16:ID='{}{}'.format('0'*(16-len(ID)),ID) 10/13 13:38
12F:推 TitanEric: 用zfill解 不會有前面是0補齊的整數呀 10/13 13:58
13F:→ justoncetime: Python format網站我記得有,淺顯易懂,try it 10/13 15:03
14F:推 rexyeah: ?? print str(input()).zfill(16) 10/13 16:44
15F:推 handsomeLin: 大家都誤會意思了 應該是不想有‘’號框著 所以應該 10/14 01:20
16F:→ handsomeLin: 是for loop print吧XD 10/14 01:20
17F:→ cscscs56: handsome大說的沒錯 XD,也很謝謝大家幫助 10/14 12:21
18F:→ cscscs56: 後來還是用原本的這個print("%016d" % int(input())) XD 10/14 12:22
19F:推 Kazimir: 應該只是題目理解問題啦 不可能要求int前面有0的 10/14 18:05
20F:推 rexyeah: 原來如此XD 10/14 19:18