In [1]: a = input('.....:')
.....:123
In [2]: a
Out[2]: '123'
In [3]: type(a)
Out[3]: str
In [4]: b = input('....:')
....:{'a':1, 'b':2}
In [5]: b
Out[5]: "{'a':1, 'b':2}"
In [6]: type(b)
Out[6]: str
In [4]: b = raw_input('...:')
...:345
In [5]: b
Out[5]: '345'
In [6]: type(b)
Out[6]: str
============================================= <
In [1]: a = input('....:')
....:123
In [2]: a
Out[2]: 123
In [3]: type(a)
Out[3]: int
------
In [7]: c = input('...:')
...:{'a':1,'b':2}
In [8]: c
Out[8]: {'a': 1, 'b': 2}
In [9]: type(c)
Out[9]: dict
让我们看一下将要发生的错误:
错误示例1
在这种情况下,尚不清楚输入以何种形式输入. 在py3中,输入返回所有字符串类型
也就是说,输入1、2、3实际上是返回的字符串“ 1、2、3”
这很长时间了,很明显
事实上:
前面有三个变量,后面有一个字符串,因此后面自然会被解包python input 字符串,字符串将被解包为字符
但是,在解压缩“ 1、2、3”后,会有五个字符“ 1”,“ 2”,“ 3”,因此当然会出现错误
然后,以下很简单
实际上,它是字符串“ 11 22 33”的一部分
当输入为float时,将字符串转换为float时没有错误,因此,如果报告错误,则输入不是float类型
所以您可以使用try来解决它
a = input('...:')
try:
float(a)
except :
isFloat = False
else:
isFloat = True
类似地python input 字符串,其他类型的判断也是如此
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-201474-1.html