raw_input和input
raw_input接受的都是字符串,raw_input()直接读取控制台的输入(任何类型的输入它都可以接收)。
input()支持用户输入数字或者表达式,不支持输入字符串,返回的是数字类型的数值。(而对于 input(),它希望能够读取一个合法的 python表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError)。而raw_input()捕获的是最原始的输入,也就是说返回的是一个字符串
强制类型转换 int()
>>> a=raw_input("请输入一个数字:")
请输入一个数字:3
>>> print a+4 字符类型与整形类型不一致不能直接操作
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
>>> type(a)
<type 'str'>
>>> a
'3'
>>> c
3
>>> c=int(a)+3
>>> c
6
>>> float(a)
3.0
>>> str(a)
'3'
>>> str(a)+"100"
'3100'
>>> a=raw_input("enter a string:")
enter a string:zhang
>>> type(a)
<type 'str'>
>>> a=raw_input("enter a string:")
enter a string:23
>>> type(a)
<type 'str'>
>>> a=input("输入:")
输入:34
>>> a
34
>>> type(a)
<type 'int'>
>>> b=input("输入:")
输入:hh
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'hh' is not defined
>>>
input会自动计算表达式,并且把表达式的计算结果赋值到变量,可以接收一个Python表达式作为输入,并将运算结果返回
>>> b=input("输入:")
输入:2+4
>>> b
6
>>> b=input("enter an number") #输入数字,直接就是int型的
enter an number23
>>> type(b)
<type 'int'>
>>> b=input("enter an number") #输入字符串时,必须带引号,否则会报错
enter an numberzhang
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'zhang' is not defined
>>> b=input("enter an number")
enter an number"zhang"
>>> type(b)
<type 'str'>