python 求助: raw_input() 默认输入的是 str 类型 (就是我输入了23 他也会认为我输入的是字符串)

input()默认是数字,有没有一个默认的函数,就是我输入22,他就知道是int输入xx就是知道str因为我用type(i)的话就会报错啊额··我的意思是我输入什么··他... input()默认是 数字 ,有没有一个 默认的
函数,就是我输入22,他就知道是 int 输入 xx 就是知道str
因为我用type(i)的话就会报错啊
额··我的意思是 我输入什么··他就知道我输入的是什么类型··怎么写
展开
 我来答
波尽天下
推荐于2017-11-25 · TA获得超过834个赞
知道小有建树答主
回答量:202
采纳率:66%
帮助的人:226万
展开全部
没有现成的你所说的那么人性化的函数,不过可以想点办法变通一下,利用try..except..的方法,让程序将raw_input()输入的值转换为int,如果输入的是‘23’则直接转换为数字23,如果输入的是‘xx’则会try失败然后运行except的部分。
代码如下:
#==========================
a =raw_input('input string or number')
try:
a=int(a)
print a,'is int'
except:
print a,'is str'
#==========================

希望能帮到你!
Nicehui
2018-08-11
知道答主
回答量:3
采纳率:0%
帮助的人:2164
展开全部
学过正则表达式吧,对,就是用它来判断自己输入的是否是纯数字
例如:
import re
word = raw_input('> ')
r1 = r"^[0-9]+$"
if re.match(r1,word) != None: # 判断是否能够匹配
word = int(word)
然后根据需要,将输入强制类型转换即可
例如:
a = ‘1’# a为字符串类型
type(a)
<type 'str'>
a = int(a) # 此时a为int型
type(a)
<type 'int'>
后面就可以用于判断类型了
判断方法也比较简单:
if type(a) == str:
print "a type is string"
if type(a)==int:
print "a tpye is integer"

嘎嘎嘎
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
好好学习der
2012-04-20 · TA获得超过3908个赞
知道小有建树答主
回答量:1816
采纳率:0%
帮助的人:1286万
展开全部
如果你要保证用户输入的是int型的话就在int(raw_input())这样吧 这样能保证输入的是int型的
否则就得自己判断了

只能自己判断用户的输入的类型
追问
额··我的意思是 我输入什么··他就知道我输入的是什么类型··
输入 2 就是int
输入x 就是 str
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式