首页
Python中文网
在线手册
Python入门
Linux教程
Python高级教程
登录
注册
用户名
Email
自动登录
找回密码
密码
登录
立即注册
扫一扫,访问微社区
只需一步,快速开始
论坛
BBS
Python教程
在线手册
Python入门
Linux教程
Python高级教程
Python函数详解
搜索
本版
帖子
用户
道具
勋章
任务
设置
退出
Python论坛 - 国内最好的Python中文社区
»
论坛
›
技术交流
›
python问答 - 求助悬赏区 Help!
›
初学小白求助在佬关于eval的问题
返回列表
查看:
3171
|
回复:
3
[求助]
初学小白求助在佬关于eval的问题
sh1230
当前离线
积分
1
1
主题
1
帖子
1
积分
贫民
贫民, 积分 1, 距离下一级还需 59 积分
贫民, 积分 1, 距离下一级还需 59 积分
积分
1
发消息
sh1230
发表于 2020-10-15 17:57:57
|
显示全部楼层
|
阅读模式
我是一个初学python的小白。现遇到一个问题,来求助各位大佬。我下面这几行代码。在运行时,当我输入的是整数或者小数时不会报错,当输入的是字符时却会报错。望大佬帮我看一下错在什么地方。我这是是想让程序判断输入的是不是整数。。
A=
input
(
"
请输入
"
)
A=
eval
(A)
print
(
type
(A))
回复
使用道具
举报
sheeboard
当前离线
积分
956
0
主题
956
帖子
956
积分
圣骑士
圣骑士, 积分 956, 距离下一级还需 44 积分
圣骑士, 积分 956, 距离下一级还需 44 积分
积分
956
发消息
sheeboard
发表于 2020-10-16 10:58:50
|
显示全部楼层
isinstance(A, int)
回复
支持
反对
使用道具
举报
白嫖小废物
当前离线
积分
4
0
主题
4
帖子
4
积分
贫民
贫民, 积分 4, 距离下一级还需 56 积分
贫民, 积分 4, 距离下一级还需 56 积分
积分
4
发消息
白嫖小废物
发表于 2020-10-16 20:58:16
|
显示全部楼层
输入字符串时,eval认为是变量名,但有找不到变量的值
上面老哥的方法就可以,
如果执意要这样的话,可以加异常判断,或是这样的 .方法有很多
A="input('请输入')"
A=eval(A)
if A.isdecimal():
print(type(int(A)))
else:print(type((A)))
回复
支持
反对
使用道具
举报
爬爬
当前离线
积分
1
0
主题
1
帖子
1
积分
贫民
贫民, 积分 1, 距离下一级还需 59 积分
贫民, 积分 1, 距离下一级还需 59 积分
积分
1
发消息
爬爬
发表于 2020-10-19 01:47:36
|
显示全部楼层
只判断整数的话不用eval,直接A.isdigit()就可以,会检查字符串A的每一位是否是数字。
print(A.isdigit())
如果要考虑小数的话,先可以替换一个小数点
A = A.replace('.', '', 1)
print(A.isdigit())
如果再考虑正负号可以用A.startswith('-')的判断,或者写正则匹配。
参考:
PYTHON 判断是否是数字
回复
支持
反对
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表