python - 在python中计算字符串中的数字、字母和特殊字符
问题描述
我正在努力计算字符串中的字母、数字和特殊字符。我是初学者,正在探索 python。提前谢谢你们!
string=input("Enter string: Abc123--- ")
count1=0
count2=0
count3=0
count4=0
for i in string:
if(i.isletter()):
count1=count1+1
count2=count2+1
count3=count3+1
count4=count2+1
print("Letter count:")
print(count1)
print("Number count:")
print(count2)
print("Special Characters count:")
print(count3)
print("Total characters count:")
print(count4)
解决方案
有很多方法可以做到这一点。一个简单的方法是:
import string
def letters(text):
letter_list = string.ascii_uppercase + string.ascii_lowercase
counter = 0
for i in text:
if i in letter_list:
counter += 1
return counter
def numbers(text):
number_list = "0123456789"
counter = 0
for i in text:
if i in number_list:
counter += 1
return counter
# you can just assume rest is the special if you have specially defined chars this works
def special(text):
letter_list = "^&*+-"
counter = 0
for i in text:
if i in letter_list:
counter += 1
return counter
def counter(text):
l = letters(text)
n = numbers(text)
s = special(text)
return {"numbers": l, "letters":l, "special":s}
print(counter("Abc123---"))
还有一个更压缩的版本是:
import string
def counter(text):
number_list = "0123456789"
letter_list = string.ascii_uppercase + string.ascii_lowercase
letter_count = 0
number_count = 0
special_count = 0
for i in text:
if i in number_list:
number_count += 1
elif i in letter_list:
letter_count += 1
else:
special_count += 1
return {"numbers": number_count, "letters":letter_count, "special":special_count}
print(counter("Abc123---"))
推荐阅读
- wordpress - 将 wordpress 站点迁移到 docker 容器(本地)
- powershell - 如何过滤powershell ssh输出
- azure - 何时需要使用 64 位 Azure Functions?
- visual-foxpro - 如何将放弃更改替换为您要保存更改吗
- botframework - MS LUIS:意图数/数据不平衡
- java - 如何检查 Selenium 是否成功单击元素?
- java - 优化(基于 java.awt.geom.Area)与更多对象的碰撞
- opencv - 边界框到底在哪里开始或结束?
- jenkins - 如何使用 Jenkinsfile 将文件从 Jenkins 代理节点复制到远程服务器
- c# - 如何在 kendo UI 模板中检查字符串是否包含逗号