Python:给定一个不超过5位的正整数,判断有几位
生活随笔
收集整理的這篇文章主要介紹了
Python:给定一个不超过5位的正整数,判断有几位
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
方法一:作比較
a=int(input(">>>>")) if a<10: print(1) elif a<100: #第一個(gè)條件已經(jīng)過(guò)濾了大于9,所以這里區(qū)間是11到100print(2) elif a<1000:print(3) elif a<10000:print(4) else:print(5)方法二:使用整除實(shí)現(xiàn),除完后如果是個(gè)0或不是個(gè)0,這種方法引入了計(jì)算,效率會(huì)降低,所以能加就不要減,能乘就不要除,能不計(jì)算就不計(jì)算
''' 遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)! ''' i = int(intput('>>>') if i // 10000:print(5): elif i // 1000:print(4) elif i // 100:print(3) elif i // 10:print(2) else:print(1)分析:假設(shè)是在5位的情況下,不考慮其他狀況
In [1]: 6666 // 10000 Out[1]: 0 除以10000為零證明是小于5位數(shù)In [2]: 6666 // 1000 Out[2]: 6 但是如果能被1000整除,它就是一個(gè)4位數(shù)In [3]: 6666 // 100 Out[3]: 66In [4]: 6666 // 10 Out[4]: 666In [5]: 6666 // 1 Out[5]: 6666方法三:
''' 遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)! ''' a=int(input(">>>")) if a<0:print("Format is wrong") elif a<100000: ##限定5位if a<10:print(1)elif a<100:print(2)elif a<1000:print(3)elif a<10000:print(4)else: print(5) else:print("請(qǐng)輸入一個(gè)不超過(guò)5位的數(shù)")方法四:字符串處理實(shí)現(xiàn)
#!/usr/bin/python3 nnumber=input(">>>>") length=len(nnumber) if length>4:print(5) elif length>3:print(4) elif length>2:print(3) elif length>1:print(2) else:print(1)方法五:折半實(shí)現(xiàn)
''' 遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)! ''' #!/usr/bin/python3 number = int(input("number >> ")) if number >= 100: ##直接從100開(kāi)始折if number >= 10000:print("5")elif number >= 1000:print("4")else:print("3") else:if number >= 10:print("2")else:print("1")方法六:math實(shí)現(xiàn),這種方法比除法的更慢,如果循環(huán)100萬(wàn)次就很明顯
number=int(input("輸入一個(gè)不超過(guò)5位的正整數(shù): ") if a<=0 or a>=100000:print('請(qǐng)輸入一個(gè)不超過(guò)5位的正整數(shù)') else:import mathb=int(math.log10(a)+1)print(b)總結(jié)
以上是生活随笔為你收集整理的Python:给定一个不超过5位的正整数,判断有几位的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python基础数据类型---bytes
- 下一篇: 大部分人都会忽略的Python易错点总结