最近刷牛客网上的题发现很多人用sys.stdin进行处理:
1. sys.stdout与print:
在python中调用print时,事实上调用了sys.stdout.write(obj+'\n')
print 将需要的内容打印到控制台,然后追加一个换行符
以下两行代码等价:
sys.stdout.write('hello' + '\n')
print('hello')
2. sys.stdin与input
sys.stdin.readline( )会将标准输入全部获取,包括末尾的'\n',因此用len计算长度时是把换行符'\n'算进去了的,但是input( )获取输入时返回的结果是不包含末尾的换行符'\n'的。
因此如果在平时使用sys.stdin.readline( )获取输入的话,不要忘了去掉末尾的换行符,可以用strip( )函数(sys.stdin.readline( ).strip('\n'))或sys.stdin.readline( )[:-1]这两种方法去掉换行。
博客介绍了在刷牛客网题目时发现很多人用sys.stdin处理的情况。阐述了python中sys.stdout与print的关系,调用print实际调用sys.stdout.write(obj+'\n')。还对比了sys.stdin与input,指出sys.stdin.readline会包含换行符,input不包含,使用sys.stdin.readline获取输入时可去掉换行符。
634

被折叠的 条评论
为什么被折叠?



