判断字符串是否是数值的传统代码参考:
sInput=input("请输入数值[整数或小数]:") sInput2="" bErr=False cSign="" if(sInput.startswith("+")): sPlus=sInput.count("+") if(sPlus==1): sInput2=sInput.lstrip("+") cSign="+" else: bErr=True elif(sInput.startswith("-")): sSub=sInput.count("-") if(sSub==1): sInput2=sInput.lstrip("-") cSign="-" else: bErr=True else: sChar=sInput[0:1] if(sChar.isdigit()==False): bErr=True else: sInput2=sInput if(bErr): print("数值格式不正确.") elif(sInput2.isdigit()): print("数值格式正确.") else: pointNum=sInput2.count(".") if(pointNum==1): s2=sInput2.replace(".","") if(s2.isdigit()): print("数值格式正确.") else: print("数值格式不正确.") else: print("数值格式不正确.") if(bErr==False): print(cSign+sInput2)
采用正则表达式来判断字符串是否是数值的参考代码:
import re strInput = '310.1' strList = re.findall('^[\-\+]?\d+\.?\d+$',strInput) print(strList) strInput2 = 'aa310.0.1' strList2 = re.search('[\-\+]?\d+\.?\d+',strInput2) print(strList2.group()) strInput3 = '310.0.1' strList3 = re.match('[\-\+]?\d+\.?\d+',strInput3) print(strList3.group()) strInput4 = '310.13' strList4 = re.match('^[\-\+]?\d+\.?\d+$',strInput4) if(strList4): res=strList4.group() print(res) else: print("Err")strInput5 = '310.01a'
strInput5 = '310.13'
strList5 = re.fullmatch('[\-\+]?\d+\.?\d+',strInput5) if(strList5): print(strList5.group()) else: print("Err")
分类:
Python简明基础教程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!