Python练习题4.14统计字符
2021-02-10 22:18
标签:昨天 遍历 rgb size font 简单 else key lse 本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。 输入为10个字符。最后一个回车表示输入结束,不算在内。 代码如下:(PS:这个程序搞的我心态崩了) 这个程序用简单的while循环就可以的,大家可以百度看看。 重点部分:如何判断接收的字符,测试数据中搞了个换行输入,第一个while我折腾了老半天。 测试成功后,我百度看了看,发现别人写的代码很简洁明了。不需要判断ASCII码,部分代码如下: 看来对内置的一些方法函数一定要熟记,不然只能笨方法,判断ASCII码。 唉,自己写程序,总是将简单程序复杂化。 读书和健身总有一个在路上 Python练习题4.14统计字符 标签:昨天 遍历 rgb size font 简单 else key lse 原文地址:https://www.cnblogs.com/Renqy/p/12740517.html输入格式:
#!/usr/bin/python
# -*- coding: utf-8 -*-
#a-z:97-122,A-Z:65-90,0-9:48-57。
#回车,ASCII码13
#换行,ASCII码10
#空格,ASCII码32
z = {"letter":0,"blank":0,"digit":0,"other":0}
s = input()
n = len(s)
#这个判断折腾了半天,难受
while True:
if nblank"] += 1
else:
break
for i in range(0,len(s)):
if ord(s[i]) == 32 or ord(s[i]) == 10:
z["blank"] += 1
elif ord(s[i]) >= 97 and ord(s[i]) letter"] += 1
elif ord(s[i]) >= 65 and ord(s[i]) letter"] += 1
elif ord(s[i]) >= 48 and ord(s[i]) digit"] += 1
else:
z["other"] += 1
#遍历字典,昨天刚学的,今天就忘了使用keys(),欠打
for k in z.keys():
if k != "other":
print("{} = {:d}, ".format(k,z[k]),end="")
else:
print("{} = {:d}".format(k,z[k]),end="")
for i in s:
if i.isalpha():
letter += 1
elif i.isdigit():
digit += 1
elif i.isspace():
blank += 1
else:
other += 1
上一篇:Java中单例模式的安全性分析
下一篇:python列表的使用