Python内置函数 - input() 函数
Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。Python2.x 中 input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。
raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。
注意:input() 和 raw_input() 这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。
除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。
注意:python3 里 input() 默认接收到的是 str 类型。
函数语法[code]input([prompt])[/code]参数说明:
prompt: 提示信息
实例
Python2.x: input() 需要输入 python 表达式[code]>>>a = input("input:")
input:123 # 输入整数
>>> type(a)
<type 'int'> # 整型
>>> a = input("input:")
input:"runoob" # 正确,字符串表达式
>>> type(a)
<type 'str'> # 字符串
>>> a = input("input:")
input:runoob # 报错,不是表达式
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'runoob' is not defined
<type 'str'>[/code]Python2.x: raw_input() 将所有输入作为字符串看待[code]>>>a = raw_input("input:")
input:123
>>> type(a)
<type 'str'> # 字符串
>>> a = raw_input("input:")
input:runoob
>>> type(a)
<type 'str'> # 字符串
>>>[/code] Python3 input() 函数
Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。
注意:在 Python3.x 中 raw_input() 和 input() 进行了整合,去除了 raw_input( ),仅保留了input( )函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。
函数语法[code]input([prompt])[/code]参数说明:
prompt: 提示信息
实例
input() 需要输入 python 表达式[code]>>>a = input("input:")
input:123 # 输入整数
>>> type(a)
<class 'str'> # 字符串
>>> a = input("input:")
input:runoob # 正确,字符串表达式
>>> type(a)
<class 'str'> # 字符串[/code]input() 接收多个值
实例[code]#!/usr/bin/python
#输入三角形的三边长
a,b,c = (input("请输入三角形三边的长:").split())
a= int(a)
b= int(b)
c= int(c)
#计算三角形的半周长p
p=(a+b+c)/2
#计算三角形的面积s
s=(p*(p-a)*(p-b)*(p-c))**0.5
#输出三角形的面积
print("三角形面积为:",format(s,'.2f'))[/code]以上实例执行输出结果为:[code]请输入三角形三边的长:3 4 5
三角形面积为: 6.00[/code] Python2.x 和 Python3.x 中 raw_input( ) 和 input( ) 区别
1、在 Python2.x 中 raw_input( ) 和 input( ),两个函数都存在,其中区别为:
raw_input( ) 将所有输入作为字符串看待,返回字符串类型。
input( ) 只能接收"数字"的输入,在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。
2、在 Python3.x 中 raw_input( ) 和 input( ) 进行了整合,去除了 raw_input( ),仅保留了 input( ) 函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。
例如:[code]Python 2.3.4 (#1, Feb 2 2005, 11:44:13)
[GCC 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> user=raw_input("please input:")
please input:wei # raw_input 输入 字符串 成功
>>> user
'wei'
>>> user=input("please input:")
please input:123 # input 输入 数字 成功(返回的是数字)
>>> user
123
>>> user=raw_input("please input:")
please input:111 # raw_input 输入 数字 成功(返回的还是当成字符串)
>>> user
'111'
>>> user=input("please input:")
please input:wei # input 输入字符串 失败
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "<string>", line 0, in ?
NameError: name 'wei' is not defined[/code]在 Python 3.2.3 中 input 和 raw_input 整合了,没有了 raw_input:[code]Python 3.2.3 (default, Apr 11 2012, 07:15:24) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> user=raw_input("please input:") #没有了raw_input
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'raw_input' is not defined
>>> user=input("please input:")
please input:wei
>>> user
'wei'
>>> user=input("please input:") #input的输出结果都是作为字符串
please input:123
>>> user
'123'[/code]
页:
[1]