整數位數獲取與所有位數之和,在python裡面的實現,技巧滿滿
2021-07-02由 DFBoy 發表于 農業
數位是什麼
Hello,大家好,這裡是隨時隨地準備死磕操作的DFBoy。
今天要進行的操作是——使用python求整數的位數及各位數之和。
01
場景描述
對於絕大多數python程式設計的初學者來說,這是一個很不錯的練手任務。
透過這個任務,可以瞭解到如何針對整數進行位數的獲取和運算·····
總之,就是為了讓自己的程式設計實力得到提升。
02
程式碼構思
既然需要對證書的位數進行分離,就需要對整數進行取餘、取整等一系列運算,獲取每一個位置的數字,最後進行加和運算。
但是,如果對整數的位數進行運算,需要大量的判斷,這對於一個優秀的程式猿來說不是一個合格的做法。
優秀的程式猿要用最少的程式碼最高效地做最多的事情。
沒錯,看過我前面文章的朋友已經記起來了。
你還在傻傻地從整數位數著手反轉整數嗎?用python直接反轉喲
的確,本次操作和我們前面的整數反轉使用同系列的做法,先將整數化為字串,然後將字串分拆,甚至可以更進一步,借用列表推導式直接使用求和函式對整數位數進行求和。
03
完整程式碼
04
程式碼講解
為了更進一步,本次操作採用了物件式程式設計。
第一行程式碼就是在提示使用者輸入一個整數。
這第二行程式碼也很簡單,和我們之前整數反轉的操作一樣,將整數轉化為字串,並且還使用了列表推導式,將整數的每一位數字都當成列表的一個元素。
最上面的兩行程式碼就是最核心的操作了,上面一行程式碼是透過列表長度得到整數的位數,下面程式碼則是將列表裡面的每一個元素重新轉化為數值型資料,並作為求和函式的引數,從而獲取整數各位數之和。
最後一行就很好理解了,將整數的位數和各位數之和打印出來。
05
操作寄語
沒有對比就沒有傷害,在獲取整數的位數和各位數之和的時候,要是因為主體是數值型資料就開始採用取餘等運算的話,將需要大量的程式碼運算。
但將整數轉化為字串後完美地避開了這些缺陷。
所以在進行程式設計的時候需要多方面地考慮問題!