为什么回车也算一个特殊字符呢?!
我看了半天!!!交上去还是懵逼的!
题目描述
给你一篇英文文章,请问你里面有多少个空格、数字字符、英文字母和其他字母。
输入
输入多行文字,以 EOF 结束
每一行表示一个文章的段落
输出
输出一行提示信息,具体格式见样例。
样例输入
Python is a good language.
We all like it.
样例输出
7 spaces, 0 numbers, 32 letters, 3 other characters.
提示
以 EOF 结束表示你需要处理一个异常 EOFError
多行文本应该这样读:
就离谱两个句号怎么就3 other characters.
好了不多说了分享一下自己的做题思路!!!
a = []
space=0
num = 0
le = 0
ot = 0
while True:
try:
s = input()
a.append(s)
ot+=1
except EOFError:
break
for i in range(0,len(a)):
for j in a[i]:
if j== " ":
space+=1
elif "0"<=j<="9":
num+=1
elif "a"<=j<="z" or "A"<=j<="Z":
le+=1
else:
ot+=1
print("{} spaces, {} numbers, {} letters, {} other characters.".format(space,num,le,ot-1))
思路不难,前半段根据提示输入直到EOF错误也就是ctrl+z
把每一行的元素都放到了一个列表里方便我们接下来遍历
接着我们用i序号去遍历这个列表的每一个元素
再写一个循环遍历每个字符串有什么就让什么++就能算出这些内容了!!
BUT!!!
这样系统说我不对,于是我就思考原来是每个回车都算一个特殊符号,然后我就在输入阶段就对ot进行加
当然最后那个回车是不算在文章里的所以!输出一定要是ot-1!今日吐槽到此结束!