使用Python判斷輸入的整數(shù)位數(shù)并求出每個(gè)位上的值

1. 前言

??對(duì)于給定的正整數(shù)N(N最大為5位數(shù))鸽粉,求其整數(shù)位數(shù)斜脂,及個(gè)位、十位触机、百位帚戳、千位和萬(wàn)位的值,同時(shí)儡首,舉個(gè)例子片任,如果N是一個(gè)三位數(shù),那么蔬胯,只求其個(gè)位对供、十位和百位。

2. 例子

2.1 輸入一個(gè)一位數(shù)

請(qǐng)輸入一個(gè)數(shù):> 8
你輸入的是一個(gè)一位數(shù)
8 的個(gè)位為: 8

2.2 輸入一個(gè)兩位數(shù)

請(qǐng)輸入一個(gè)數(shù):> 45
你輸入的是一個(gè)兩位數(shù)
45 的十位為: 4 ,個(gè)位為: 5

2.3 輸入一個(gè)三位數(shù)

請(qǐng)輸入一個(gè)數(shù):> 45128
你輸入的是一個(gè)五位數(shù)
45128 的萬(wàn)位為: 4 ,千位為: 5 ,百位為: 1 ,十位為: 2 ,個(gè)位為: 8

3. 代碼實(shí)現(xiàn)

# %% 實(shí)現(xiàn)的功能
# 1. 判斷輸入的整數(shù)是幾位數(shù)氛濒,最大可判斷5位數(shù)
# 2. 求出每個(gè)位數(shù)上的值
# 請(qǐng)輸入一個(gè)數(shù)
m = int(input("請(qǐng)輸入一個(gè)數(shù):"))
if 0 < m < 9:  # 在c/c++中不支持這種寫(xiě)法
    print("你輸入的是一個(gè)一位數(shù)")
    gw = m % 10
    print(m, "的個(gè)位為:", gw)
elif 0 < m // 10 < 9:
    print("你輸入的是一個(gè)兩位數(shù)")
    gw = m % 10
    sw = m // 10
    print(m, "的十位為:", sw, ",個(gè)位為:", gw)
elif 0 < m // 100 < 9:
    print("你輸入的是一個(gè)三位數(shù)")
    gw = m % 10
    sw = m // 10 % 10
    bw = m // 100
    print(m, "的百位為:", bw, ",十位為:", sw, ",個(gè)位為:", gw)
elif 0 < m // 1000 < 9:
    print("你輸入的是一個(gè)四位數(shù)")
    gw = m % 10
    sw = m // 10 % 10
    bw = m // 100 % 10
    qw = m // 1000
    print(m, "的千位為:", qw, ",百位為:", bw, ",十位為:", sw, ",個(gè)位為:", gw)
elif 0 < m // 10000 < 9:
    print("你輸入的是一個(gè)五位數(shù)")
    gw = m % 10
    sw = m // 10 % 10
    bw = m // 100 % 10
    qw = m // 1000 % 10
    ww = m // 10000
    print(m, "的萬(wàn)位為:", ww, ",千位為:", qw, ",百位為:", bw, ",十位為:", sw, ",個(gè)位為:", gw)

4. 代碼解釋

  1. 首先要判斷輸入的整數(shù)是幾位數(shù)产场,我這里的思路是若該數(shù)在0~9之內(nèi),則為一位數(shù)泼橘;若該數(shù)整除10后結(jié)果在0~9之內(nèi)涝动,則為兩位數(shù);若該數(shù)整除100后結(jié)果在0~9之內(nèi)炬灭,則為三位數(shù);若該數(shù)整除100后結(jié)果在0~9之內(nèi),則為三位數(shù)重归;若該數(shù)整除1000后結(jié)果在0~9之內(nèi)米愿,則為四位數(shù);若該數(shù)整除10000后結(jié)果在0~9之內(nèi)鼻吮,則為五位數(shù)育苟;而Python整除的符號(hào)為//, 對(duì)應(yīng)的代碼如下:
if 0 < m < 9:  # 判斷一位數(shù)
elif 0 < m // 10 < 9:  # 判斷兩位數(shù)
elif 0 < m // 100 < 9:  # 判斷三位數(shù)
elif 0 < m // 1000 < 9:  # 判斷四位數(shù)
elif 0 < m // 10000 < 9:  # 判斷五位數(shù)
  1. 其次要得到整數(shù)的各個(gè)位上的數(shù),以輸入45128為例椎木,對(duì)應(yīng)的個(gè)位十位百位千位萬(wàn)位的獲取代碼如下:
# m為輸入的一個(gè)五位數(shù)违柏,這里設(shè)為45128
gw = m % 10
sw = m // 10 % 10
bw = m // 100 % 10
qw = m // 1000 % 10
ww = m // 10000
  1. 如上所示, 用m對(duì)10取余香椎,則可得個(gè)位漱竖,用m對(duì)10000取整,即可得到萬(wàn)位畜伐。再對(duì)中間三個(gè)位進(jìn)行分析馍惹,中間位值求法有固定套路,都是先取整再取余玛界,
    1.比如說(shuō)万矾,想求位上的值,則先對(duì)10取整慎框,再對(duì)10取余良狈;
    1. 想求百位上的值,則先對(duì)100取整笨枯,再對(duì)10取余薪丁;
    2. 想求千位上的值,則先對(duì)1000取整猎醇,再對(duì)10取余窥突;
  2. 再舉一個(gè)例子,假設(shè)輸入的m為四位數(shù)硫嘶,其值為2456阻问,對(duì)于四位數(shù)而言,其中間只有十位和百位沦疾,所以:
    1.想求位上的值称近,則先對(duì)10取整,再對(duì)10取余哮塞;
    2.想求百位上的值刨秆,則先對(duì)100取整,再對(duì)10取余忆畅;
  3. 對(duì)應(yīng)代碼如下:
sw = m // 10 % 10  # 十位
bw = m // 100 % 10  # 百位

6.總結(jié)衡未,不管是五位數(shù)還是四位數(shù)還是多少位數(shù),求其中間的位的值的規(guī)則都是類(lèi)似的,先整除后取整缓醋。

5.總結(jié)

??對(duì)于求一個(gè)整數(shù)有多少位數(shù)的問(wèn)題如失,我所使用的方法還是算笨的,不適合進(jìn)一步擴(kuò)展送粱,實(shí)際上可以將求位數(shù)的功能封裝成一個(gè)函數(shù)褪贵,思路可以是將整數(shù)轉(zhuǎn)為字符串再進(jìn)行長(zhǎng)度統(tǒng)計(jì),具體的求法可參考以下鏈接抗俄。
python求數(shù)字位數(shù)的方法

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末脆丁,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子动雹,更是在濱河造成了極大的恐慌槽卫,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件洽胶,死亡現(xiàn)場(chǎng)離奇詭異晒夹,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)姊氓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)丐怯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人翔横,你說(shuō)我怎么就攤上這事读跷。” “怎么了禾唁?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵效览,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我荡短,道長(zhǎng)丐枉,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任掘托,我火速辦了婚禮瘦锹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘闪盔。我一直安慰自己弯院,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布泪掀。 她就那樣靜靜地躺著听绳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪异赫。 梳的紋絲不亂的頭發(fā)上椅挣,一...
    開(kāi)封第一講書(shū)人閱讀 52,337評(píng)論 1 310
  • 那天头岔,我揣著相機(jī)與錄音,去河邊找鬼贴妻。 笑死切油,一個(gè)胖子當(dāng)著我的面吹牛蝙斜,可吹牛的內(nèi)容都是我干的名惩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼孕荠,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼娩鹉!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起稚伍,我...
    開(kāi)封第一講書(shū)人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤弯予,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后个曙,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體锈嫩,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年垦搬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了呼寸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡猴贰,死狀恐怖对雪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情米绕,我是刑警寧澤瑟捣,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站栅干,受9級(jí)特大地震影響迈套,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜碱鳞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一桑李、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧劫笙,春花似錦芙扎、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至允华,卻和暖如春圈浇,著一層夾襖步出監(jiān)牢的瞬間寥掐,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工磷蜀, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留召耘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓褐隆,卻偏偏與公主長(zhǎng)得像污它,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子庶弃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容