例16数字判断
时间:2022-07-25
本文章向大家介绍例16数字判断,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
问题描述 给定一个字符串,验证其是否为数字
问题示例 0判断为true 0.1判断为true abc判断为false 1 a判断为false 2e10判断为true
代码实现
#参数s是一个字符串,返回一个布尔值,有限的自动化
class Solution:
def isNumber(self, s):
INVALID=0; SPACE=1; SIGN=2; DIGIT=3; DOT=4; EXPONENT=5;
#0无效,1空格,2符号,3数字,4小数点,5指数,6输入的数字
transitionTable=[
[-1,0,3,1,2,-1],
[-1,8,-1,1,4,5],
[-1,-1,-1,1,2,-1],
[-1,8,-1,4,-1,5],
[-1,-1,6,7,-1,-1],
[-1,-1,-1,7,-1,-1],
[-1,8,-1,7,-1,-1],
[-1,8,-1,-1,-1,-1]
]
state=0;i=0
while i<len(s):
inputtype=INVALID
if s[i]=='': inputtype=SPACE
elif s[i]=='-' or s[i]=='+':inputtype=SIGN
elif s[i] in '0123456789':inputtype=DIGIT
elif s[i]=='.':inputtype=DOT
elif s[i]=='e' or s[i]=='E':inputtype=EXPONENT
state=transitionTable[state][inputtype]
if state==-1:return False
else: i+=1
return state==1 or state==4 or state==7 or state==8
if __name__ == "__main__":
temp=Solution()
string1="1"
string2="23aa"
print("输入:"+string1)
print("输出:"+str(temp.isNumber(string1)))
print("输入:"+string2)
print("输出:"+str(temp.isNumber(string2)))
运行结果 输入1 输出True 输入23aa 输出False
- Python做文本挖掘的情感极性分析(基于情感词典的方法)
- Selenium2+python自动化42-判断元素(expected_conditions)
- 基于机器学习的文本情感极性分析
- Selenium2+python自动化43-判断title(title_is)
- hihoCoder #1142 : 三分求极值
- 容斥原理
- TensorFlow:TensorBoard可视化
- Codeforces 768B Code For 1
- 【干货】深入理解自编码器(附代码实现)
- SlopOne推荐算法(附Python源码)
- 后缀数组(一堆干货)
- POJ 1741 Tree(树的点分治,入门题)
- hihoCoder 1039:字符消除(字符串处理)
- 2017广东工业大学程序设计竞赛决赛 题解&源码(A,数学解方程,B,贪心博弈,C,递归,D,水,E,贪心,面试题,F,贪心,枚举,LCA,G,dp,记忆化搜索,H,思维题)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP-FPM 设置多pool及配置文件重写操作示例
- laravel实现登录时监听事件,添加登录用户的记录方法
- php更新cookie内容的详细方法
- php实现映射操作实例详解
- Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
- yii框架数据库关联查询操作示例
- laravel-admin的多级联动方法
- Laravel数据库读写分离配置的方法
- php给数组赋值的实例方法
- php实现分页功能的详细实例方法
- 浅谈Laravel中的三种中间件的作用
- laravel 使用auth编写登录的方法
- laravel框架 laravel-admin上传图片到oss的方法
- php实现推荐功能的简单实例
- php实现登录页面的简单实例