Python输入 raw_input()/input() 与 sys.stdin.readline()的不同
来源:互联网 发布:iphone4s可以用4g网络 编辑:程序博客网 时间:2024/06/05 17:46
最近发现OJ中涉及字符串的问题用Python解要比Java简单得多,但是却在输入上遇到了麻烦:
题目描述:
写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
import sysa = sys.stdin.readline( ).upper()b = sys.stdin.readline( ).upper()alist = list(a)count = 0while b in alist: alist.remove(b) count = count + 1print(count)
上面的代码并不能ac
接着我用raw_input():
s1 = raw_input().upper()s2 = raw_input().upper()slist = list(s1)count = 0while s2 in slist: slist.remove(s2) count += 1print(count)
ac了
顿时觉得纳闷,看了一下sys.stdin.readline()的输出才发现:
测试用例:nhrwlbcc8m7c5hih9mhalw98k0322wf2jjm47kk3ntm9snfrflzzundn7d608usy049asxalzjk7izj6amcqhr8uubc04g52mcjboj2fmge2l6iarizfu4yve5o4i3srf5zgqbg82ckcotdeqp760mc9gzei5dzk5gj9x9yj05o3hle0ii64krkkp5i7blh7nbu3gu5vgi2scyn4yqx3z4vcjbyzhnqkh887izotjkg2l0mit0k14vyn39你的输出为:['N', 'H', 'R', 'W', 'L', 'B', 'C', 'C', '8', 'M', '7', 'C', '5', 'H', 'I', 'H', '9', 'M', 'H', 'A', 'L', 'W', '9', '8', 'K', '0', '3', '2', '2', 'W', 'F', '2', 'J', 'J', 'M', '4', '7', 'K', 'K', '3', 'N', 'T', 'M', '9', 'S', 'N', 'F', 'R', 'F', 'L', 'Z', 'Z', 'U', 'N', 'D', 'N', '7', 'D', '6', '0', '8', 'U', 'S', 'Y', '0', '4', '9', 'A', 'S', 'X', 'A', 'L', 'Z', 'J', 'K', '7', 'I', 'Z', 'J', '6', 'A', 'M', 'C', 'Q', 'H', 'R', '8', 'U', 'U', 'B', 'C', '0', '4', 'G', '5', '2', 'M', 'C', 'J', 'B', 'O', 'J', '2', 'F', 'M', 'G', 'E', '2', 'L', '6', 'I', 'A', 'R', 'I', 'Z', 'F', 'U', '4', 'Y', 'V', 'E', '5', 'O', '4', 'I', '3', 'S', 'R', 'F', '5', 'Z', 'G', 'Q', 'B', 'G', '8', '2', 'C', 'K', 'C', 'O', 'T', 'D', 'E', 'Q', 'P', '7', '6', '0', 'M', 'C', '9', 'G', 'Z', 'E', 'I', '5', 'D', 'Z', 'K', '5', 'G', 'J', '9', 'X', '9', 'Y', 'J', '0', '5', 'O', '3', 'H', 'L', 'E', '0', 'I', 'I', '6', '4', 'K', 'R', 'K', 'K', 'P', '5', 'I', '7', 'B', 'L', 'H', '7', 'N', 'B', 'U', '3', 'G', 'U', '5', 'V', 'G', 'I', '2', 'S', 'C', 'Y', 'N', '4', 'Y', 'Q', 'X', '3', 'Z', '4', 'V', 'C', 'J', 'B', 'Y', 'Z', 'H', 'N', 'Q', 'K', 'H', '8', '8', '7', 'I', 'Z', 'O', 'T', 'J', 'K', 'G', '2', 'L', '0', 'M', 'I', 'T', '0', 'K', '1', '4', 'V', 'Y', 'N', '3', '9', '\n']
原来readline()会将换行符也读取到,这样我读的第二行单字符也多加了一个\n,不得不能ac
所以raw_input()/input() (Python3中为input())返回的结果不包含末尾的换行符,而sys.stdin.readline()返回的结果包含了末尾的换行符\n
只要使用sys.stdin.readline( ).strip(‘\n’)便能去掉换行符达到目的
0 0
- Python输入 raw_input()/input() 与 sys.stdin.readline()的不同
- raw_input()与sys.stdin.readline()的区别
- python中raw_input()和sys.stdin.readline()的使用说明
- raw_input( )和sys.stdin.readline( )的区别
- 关于raw_input( )和sys.stdin.readline( )的区别
- 关于raw_input()和sys.stdin.readline()的区别
- 关于raw_input( )和sys.stdin.readline( )的区别
- Python输入函数:raw_input() 与 input() 的区别
- python 入门之输入 input()与raw_input()的比较
- Python 的 raw_input() 与 input()
- Python 的 input() 与 raw_input()
- python input()与raw_input()
- raw_input() 与 input() Python
- python input()与raw_input()
- python input()与raw_input()
- python input() 与raw_input()
- python input 与raw_input函数的区别
- python input 与raw_input函数的区别
- shiro基础学习(二) shiro认证
- Linux学习笔记(2)
- kruskal模版 [结构体存图]
- linux下的进程组会话作业的概念
- Android WebView 与JS的数据交互
- Python输入 raw_input()/input() 与 sys.stdin.readline()的不同
- 压缩感知重构算法之正则化正交匹配追踪(ROMP)
- 给游戏任务换装备的代码心得
- UVALive
- python中的epoll
- 《算法导论》习题2.1-3
- 十二、AspectJ切入点语法详解
- JavaScript数据类型
- 标题: 幻方填空