Python 如何准确计算大写字符后有多少小写字符?

Python 如何准确计算大写字符后有多少小写字符?,python,Python,例如,“他是个小个子”有两个小写字符,位于大写字母之后。我尝试过谷歌搜索,但在那里我没有发现任何类似的东西。我有这样的代码,我在计算小写和大写字符: letters = input("Enter string: ") count1=0 count2=0 for i in letters: if(i.islower()): count1=count1+1 elif(i.isupper()): count2=count2+1

例如,“他是个小个子”有两个小写字符,位于大写字母之后。我尝试过谷歌搜索,但在那里我没有发现任何类似的东西。我有这样的代码,我在计算小写和大写字符:

letters = input("Enter string: ")
count1=0
count2=0
for i in letters:
      if(i.islower()):
            count1=count1+1
      elif(i.isupper()):
            count2=count2+1

print("The number of lowercase characters is:")
print(count1)
print("The number of uppercase characters is:")
print(count2)
您可以使用Python的模块将字符串拆分为子字符串,每个子字符串都遵循
模式

例如,下面的模式

([A-Z][^A-Z]*)
将示例字符串“He Is a small man”拆分为以下子字符串

他
他是个小个子
然后,您可以进一步将每个子字符串拆分为

H,e
一、 他是个小个子
然后最后得到
子字符串的
len()

下面是一个示例代码:

重新导入
模式=重新编译(([A-Z])([^A-Z]*))
matches=re.findall(模式,输入(“输入字符串”))
对于匹配中的m:
打印(f“子字符串:{m[0]}”)
大写=m[1]
打印(f“大写:{uppercase}”)
小写=m[2]。替换(“,”)
num_小写=len(小写)
打印(f“小写字符:{num_lowercases}”)
这将产生:

输入字符串:他是个小个子
子串:他
大写:H
小写字符:1
子串:是个小个子男人
大写:I
小写字符:10
使用返回字符串中的所有模式作为元组列表检索匹配项,例如:

('He ', 'H', 'e ')

[0]: substring that matches the pattern
[1]: the uppercase character
[2]: the rest of the non-uppercase characters
请注意,我添加了
.replace(“,”)
以从小写字符计数中排除空格。如果您还需要大写和小写的总计数,您可以只跟踪与
count1
count2
变量类似的总计数:

重新导入
总大写字母=0
总计(小写)=0
模式=重新编译(([A-Z])([^A-Z]*))
matches=re.findall(模式,输入(“输入字符串”))
对于匹配中的m:
打印(f“子字符串:{m[0]}”)
大写=m[1]
打印(f“大写:{uppercase}”)
总大写字母+=1
小写=m[2]。替换(“,”)
num_小写=len(小写)
打印(f“小写字符:{num_lowercases}”)
合计小写字母+=小写字母数
打印(f“总大写:{total_uppercase}”)
打印(f“全部小写:{total_lowercase}”)
哪些产出:

输入字符串:他是个小个子
...
大写字母总数:2
小写总数:11

我们尝试编写一些代码,然后向我们展示您已经尝试过的内容。顺便说一句,一段代码通常比一段文字更清楚,关于它做了什么,教授们,这是我第一次在这里问问题哈哈:)我刚刚编辑了代码,向你们展示了我已经做了什么。希望你们能帮我。“他是个小个子”有两个小写字母,在大写字母后面:为什么是2?大写字母“H”后只有1个小写字母“e”。或者您也将空格计算为小写?