我是靠谱客的博主 爱撒娇西装,这篇文章主要介绍input怎么换行_Python,sys.stdin.readline()与input(),现在分享给大家,希望可以做个参考。


sys.stdin.readline() , input()的区别

首先 sys.stdin.readline() 和 input()都是以换行作为结束输入的标志,二者的区别就在于:

sys.stdin.readline()会将标准输入全部获取,包括末尾的'n',

input()会把‘n’忽略。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import sys a = sys.stdin.readline() print(a, type(a)) b = input() print(a) print(b) print(len(a), len(b)) -1 2 3 # input,被sys.stdin.readline()读取. -1 2 3 # print(a, type(a)),显然换行符'n'被读取了.不然<class 'str'>和-1 2 3 应该在同一行输出. <class 'str'> -1 2 3 # input,被input()读取. -1 2 3 # print(a),‘n’被读取. -1 2 3 # print(b). 7 6 # print(len(a), len(b)),空格3 + 字符3 + 换行符1 = 7.

可以用sys.stdin.readline( ).strip( )去掉末尾的换行符。


sys.stdin.readline(),sys.stdin.readlines(),sys.stdin.read()的区别

显然之前的代码由于换行符作为输入结束,所以是单行输入。

如果想实现多行输入,需要用到while循环,用control+D结束输入。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import sys lines = [] while True: line = sys.stdin.readline().strip() if not line: break lines.append(line) print(lines) # input, end input with control+D. -1 2 3 (control+D) # output ['-1', '2', '3']

而sys.stdin.readlines()可以一次性读取多行数据,输出是含有str的list,会读出换行符等。

同样的,control+D结束输入。

复制代码
1
2
3
4
5
6
7
8
9
10
11
import sys lines = sys.stdin.readlines() # 去除换行符,output为['-1', '2', '3']. # lines = [line.strip() for line in lines] print(line) # input -1 2 3 # output ['-1n', '2n', '3n']

sys.stdin.read()也是多行读取,输出为str,不读换行符,换行符直接起作用。

最后用control+D结束输入,其实是输入了一个空字符‘’,也会被读出来。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import sys lines = sys.stdin.read() print(lines, type(lines)) # input -1 2 3 # output -1 2 3 <class 'str'> # 补充 lines = lines.split('n') # output ['-1', '2', '3', ''] <class 'list'>

最后

以上就是爱撒娇西装最近收集整理的关于input怎么换行_Python,sys.stdin.readline()与input()的全部内容,更多相关input怎么换行_Python,sys内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部