python输入处理系列文章,专栏总目录:
1、input接收单值
用input()读取用户的输入,input()返回的数据类型是str。
s = input('输入一个年龄: ')
print(type(s), s)
=>
输入一个年龄: 10
<class 'str'> 10
一般做法,对接收变量进行类型转换:s = int(s)。
2、input同时输入多个数
python的input函数正常来说,一次只能传来一个值,且这个值是一个字符串。如果想传入多个值,我们可以使用字符串的spilt函数,以空格进行字符串的分割,并返回一个列表。如下所示:
a,b = (input("请输入两个单词:").split())
print(a,b)
=>
请输入两个单词:hello word
hello word
上面说过,input函数只能将屏幕得到的值转为字符串,即str类型。
若想得到多个数字,可以想到map函数。将得到的每个str进行映射:
a,b = map(lambda x:int(x),input("请输入两个数:").split())
print(type(a),a)
=>
请输入两个数:52 47
<class 'int'> 52
3、不同格式的分隔符
3.1、使用一个逗号分隔输入
>>> a, b = input("请输入两个数:").split(',')
请输入两个数:2,3
>>> print(a,b)
2 3
>>> print(type(a))
<class 'str'>
转为int型:
>>> m, n = eval(input("请输入两个数:").split(','))
3.2、使用空格分隔输入
>>> a ,b = input("请输入两个数:").split()
请输入两个数:2 3
>>> print(a,b)
2 3
>>> print(type(a))
<class 'str'>
转为int型:
>>> n, m = map(int, input("请输入两个数:").split())
3.3、同时使用多种符号分隔
>>> import re
>>> a, b = re.split(',|,|\s',input("请输入两个数:"))
请输入两个数:2 3
>>> print(a,b)
2 3
>>> print(type(a))
<class 'str'>
转为int型:
>>> import re
>>> n, m = map(int, re.split(',|,|\s',input("请输入两个数:")))