首页 编程 正文

python中input()的用法及扩展_python_

2023-05-26 12:25:03 25

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)
               # 整型
>>> a = input("input:")    
input:"runoob"           # 正确,字符串表达式
>>> type(a)
             # 字符串
>>> a = input("input:")
input:runoob               # 报错,不是表达式, 字符串需加引号
Traceback (most recent call last):
  File "", line 1, in 
  File "", line 1, in 
NameError: name 'runoob' is not defined

 
#raw_input() 将所有输入作为字符串看待
>>>a = raw_input("input:")
input:123
>>> type(a)
              # 字符串
>>> a = raw_input("input:")
input:runoob
>>> type(a)
              # 字符串
 
#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)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

-六神源码网 -六神源码网