这里是一段防爬虫文本,请读者忽略。
本文原创首发于CSDN,作者IDYS
博客首页:https://blog.csdn.net/weixin_41633902/
本文链接:https://blog.csdn.net/weixin_41633902/article/details/107440627
未经授权,禁止转载!恶意转载,后果自负!尊重原创,远离剽窃!
写在开头的话
请记住:实践是掌握知识的最快方法 如果你只是怀着看看的态度去快速浏览文章,而不去认认真真的把文章里面讲的任何一个知识点去实践一遍,那么你永远也掌握不了它 生命不息,折腾不止!
判断数字位数
题目
数字必须小于等于5位数 输入的数必须为数字,输入不正确则报错 对输入的数字,给出其位数
解析
方法一
首先利用input
获取用户输入 利用isdigit
:判断用户输入是否合法 利用len
:判断用户输入数字大小是否超过5位数 如果用户输入0002
,将其当作2
处理
import re
a = input ( "please input your num\n" )
a = re. sub( "^0*" , "" , a)
if a. isdigit( ) == False :
print ( "您的输入中含有非法字符串,请输入数字,不要含有别的非法字符" )
exit( - 1 )
if len ( a) > 5 :
print ( "您输入的数字大于五位数,请输入一个小于5位数字的数" )
exit( 0 )
print ( "您输入的数字的位数为%d" % len ( a) )
please input your num
sdfs
您的输入中含有非法字符串,请输入数字,不要含有别的字符
please input your num
1290345
您输入的数字大于五位数,请输入一个小于5位数字的数
please input your num
12563
您输入的数字的位数为5
方法二
利用input()
,获取键盘输入 将其转化为int
利用try
、except
,捕捉用户输入是否合法 用得到的数整除以 10000
,看其得到的数是否大于9
,如果大于9
的话,则提示用户输入的数大于5位数
def judgebit ( ) :
print ( "------------------------" )
try :
num= int ( input ( "input your num\n" ) )
except ValueError:
print ( "你输的数字中含有非法字符,程序退出" )
exit( - 1 )
testnum = 10000
bitnum = 5
if ( ( num // testnum) > 9 ) :
print ( "您输入的位数大于5位,请重新输入" )
else :
if ( num == 0 ) :
print ( "数字位数为1位" )
else :
while ( ( num// testnum) == 0 ) :
bitnum -= 1
testnum /= 10
print ( "输入的数位数为" , bitnum, "位" )
if __name__ == '__main__' :
judgebit( )
------------------------
input your num
123
输入的数位数为 3 位
------------------------
input your num
1200000
您输入的位数大于5位,请重新输入
------------------------
input your num
00000000000000002
输入的数位数为 1 位
------------------------
input your num
asdasdasd
你输的数字中含有非法字符,程序退出
写在最后的话:
无论每个知识点的难易程度如何,我都会尽力将它描绘得足够细致 欢迎关注我的CSDN博客,IDYS’BLOG 持续更新内容 : linux基础 | 数据通信(路由交换,WLAN) | Python基础 | 云计算 如果你有什么疑问,或者是难题。欢迎评论或者私信我。你若留言,我必回复! 虽然我现在还很渺小,但我会做好每一篇内容。谢谢关注!