python中input()的用法及扩展
作者:勉旃
这篇文章主要介绍了python中input()的用法及扩展,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
input() 的用法
Python3.x 中
input() 函数接受一个标准输入数据,返回为 string 类型。
python3将input() 和 raw_input() 进行了整合,去除了raw_input( ),仅保留了input( )函数。
Python2.x 中
input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。
raw_input() 将所有输入作为字符串看待,返回字符串类型。
input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。
注意:python2里input() 和 raw_input() 这两个函数均能接收字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。
注意:python3 里input() 默认接收到的是 str 类型。
示例:
#python2 #input() 需要输入 python 表达式 >>>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'> #raw_input() 将所有输入作为字符串看待 >>>a = raw_input("input:") input:123 >>> type(a) <type 'str'> # 字符串 >>> a = raw_input("input:") input:runoob >>> type(a) <type 'str'> # 字符串 #python3 #input() 示例用法如同raw_input
扩展—将控制台输入的字符串转化成列表
示例:
eg1.
>>> x=input() 1,2,3,4 >>> xlist=x.split(",") >>> print(xlist) ['1', '2', '3', '4'] >>> xlist = [int(xlist[i]) for i in range(len(xlist))] #for循环,把每个字符转成int值 >>> print(xlist) [1, 2, 3, 4] #split(“”)函数的参数可以是任何分隔符,包括(a,b,c….;1,2,3…;%,!,*,空格)
eg2.
>>> x=input() 1 2 3 4 >>> xlist=x.split(" ") >>> print(xlist) ['1', '2', '3', '4'] >>> xlist = [int(xlist[i]) for i in range(len(xlist))] >>> print(xlist) [1, 2, 3, 4]
转换成元组的方法类似。
附:str list tuple 相互转换的方法:
列表,元组和字符串python中有三个内建函数:他们之间的互相转换使用三个函数,str(),tuple()和list(),具体示例如下所示:
>>> s = "xxxxx" >>> list(s) ['x', 'x', 'x', 'x', 'x'] >>> tuple(s) ('x', 'x', 'x', 'x', 'x') >>> tuple(list(s)) ('x', 'x', 'x', 'x', 'x') >>> list(tuple(s)) ['x', 'x', 'x', 'x', 'x']
列表和元组转换为字符串则必须依靠join函数,如下所示:
>>> "".join(tuple(s)) 'xxxxx' >>> "".join(list(s)) 'xxxxx' >>> str(tuple(s)) "('x', 'x', 'x', 'x', 'x')"
input函数的高级使用
a = input('请输入一个加数:') b = input('请输入一个加数:') print(a+b)
输入一个数10回车
输入30回车
查看类型
a = input('请输入一个加数:') b = input('请输入一个加数:') print(type(a),type(b)) print(a+b)
a = input('请输入一个加数:') a = int(a) #将转换之后的结果存储到a中 b = input('请输入一个加数:') b = int(b) print(type(a),type(b)) print(a+b)
另一种方法
a = int(input('请输入一个加数:')) b = int(input('请输入一个加数:')) print(type(a),type(b)) print(a+b)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。