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