之前一直使用input()来获取输入的数据,但是后来发现另一种方法就是sys.stdin.readline(),那么这两种方法有什么区别那?
input()
1.括号内可以直接填写说明文字
2.input()会把末尾的‘\n’忽略
>>> a = input("请输入一个数字:")
请输入一个数字:20
>>> a
'20'
sys.stdin.readline()
1.需要调用sys库
2.默认输入的格式是字符串,如果是int,float类型则需要强制转换
>>> import sys
>>> print('Plase input your name: ')
Plase input your name:
>>> name = sys.stdin.readline()
lily
>>> print('Hello ', name)
Hello lily
例题:需要做类型转换
import sys
while True:
try:
num=input()
num_list=[]
for i in range(num):
input_num=sys.stdin.readline()
num_list.append(int(input_num[0:-1]))
num_list=sorted(list(set(num_list)))
for i in num_list:
print(i)
except:
break
最主要区别:sys.stdin.readline( )会将标准输入全部获取,包括末尾的'\n',input()会把‘\n’忽略.
>>> a = sys.stdin.readline()
abcd
>>> b = input()
abcd
>>> print(len(a),len(b))
5 4