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

input()默认是 数字 ,有没有一个 默认的
函数,就是我输入22,他就知道是 int 输入 xx 就是知道str
因为我用type(i)的话就会报错啊
额··我的意思是 我输入什么··他就知道我输入的是什么类型··怎么写

没有现成的你所说的那么人性化的函数,不过可以想点办法变通一下,利用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'
#==========================

希望能帮到你!
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-08-11
学过正则表达式吧,对,就是用它来判断自己输入的是否是纯数字
例如:
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"

嘎嘎嘎
第2个回答  2012-04-20
如果你要保证用户输入的是int型的话就在int(raw_input())这样吧 这样能保证输入的是int型的
否则就得自己判断了

只能自己判断用户的输入的类型追问

额··我的意思是 我输入什么··他就知道我输入的是什么类型··
输入 2 就是int
输入x 就是 str

Python中raw_input()与input()
在 Python 编程中,`raw_input()` 和 `input()` 两个函数用于从用户接收输入。`raw_input()` 的功能非常直接,它接收用户的输入并返回原始字符串形式,不进行任何转换或处理。`input()` 函数则更为复杂,其运作方式是首先调用 `raw_input()` 接收用户输入,然后进一步调用 `eval()` 函数解析用...

Python中raw_input()与input()
Python 中的 `raw_input()` 和 `input()` 函数是用于输入数据的基本功能。`raw_input()` 与字面意思一致,返回输入的字符作为字符串,不进行任何转换运算。相比之下,`input()` 实质上是先调用 `raw_input()` 获取用户输入,然后进一步调用 `eval()` 函数对输入进行解析。这意味着,当用户输入...

python中raw_input输入问题
raw_input得到的是字符串类型。int("100.5")会出错。因为100.5是浮点数不是整数,你可以用float(raw_input('enter the length'))来代替

python新人求助raw_input()问题,不断提示输入字符或数字直到输入空值停 ...
s = 'non-empty'while len(s) > 0: s = raw_input("s=?") print sprint 'end'

PyScripter工具,通过raw_input()函数获取的字符串都是Unicode类型
虽然编码问题我也没搞太清楚 但是,python只要存在对象的存储过程,就会把对象变成unicode

python自动补全raw_input()输入的路径
你好:请问你说的是什么意思:自动补全,能不能解释下。

python换行的问题,我输入了raw_input("enter a number:")但是我想输
执行了第一行后, 就会问用户这个问题 第一行的作用就是给出提示,告诉用户该做什么,然后在第二行用户根据提示输入了(3),回车执行,对输入数值进行反馈.就相当于是你在登陆账号 第二行是你输账号的过程 第三行显示的是你输完后切到密码那一行里时你账号那一行里显示的内容 就是这样 ...

编一个程序,输入两个字符串str1和str2,计算str2在str1中出现的位置,输 ...
以python语言为例,示例代码如下 !\/usr\/bin\/env python -*- coding: utf-8 -*- 编一个程序,输入两个字符串str1和str2,计算str2在str1中出现的位置,输出位置结果 str1 = raw_input()str2 = raw_input()if str2 in str1:print len(str1.split(str2)[0]) + 1 运行程序,分别输入...

python中的print '%s!' % raw_input('Please enter your first name...
>>> print 'my name is %s, i am %d' % (name,age)my name is hack, i am 19如果用到两个以上的%,别忘了加()。 raw_input('Please enter your first name:')你这样>>> name = raw_input('Please enter your first name:')Please enter your first name:love >>> print name ...

python 报错:an integer is required (got type str)
_name = raw_input('...')... % 都用raw_inputwith open('xxx.txt') as f: f.write(_name+' is taking '+_class+' with '+_instuctor+'.') % 注意在字符串前后留空格

相似回答