python - 计算字符串中小写字母和大写字母的函数
问题描述
我写了一个函数,它接受一个字符串并返回该字符串中小写字母的数量和大写字母的数量。该程序适用于单个单词,但是一旦我在两个单词之间添加两个包含“空格”的单词,就会把事情搞砸。空格也很重要。你的想法是什么?
def myfunc(s):
s = str(s)
upperl = 0
lowerl = 0
for i in s:
if i == i.lower():
lowerl += 1
if i == i.upper():
upperl += 1
if i == ' ':
continue
return upperl,lowerl
x = myfunc('hello G')
print (x)
从单词'hello G'中,我们期望大写字母和小写字母都算,1,5
但是两个单词之间的空格使之2,6
。
解决方案
问题是这' ' == ' '.upper()
两者' ' == ' '.lower()
都是正确的,并且您没有检查您当前是否正在处理字母数字字符或其他内容。相反,您可以检查您使用的是小写字母还是大写字母。
尝试这个:
def calculate_case_count(string: str):
string = str(string)
upper_letter_count = 0
lower_letter_count = 0
for letter in string:
if letter.islower():
lower_letter_count += 1
elif letter.isupper():
upper_letter_count += 1
return upper_letter_count, lower_letter_count
result = calculate_case_count('hello G ')
print(result) # (1, 5)
推荐阅读
- python - Beautifulsoup 获取数据值
- python - 识别“文件”类型的特定文件
- cmake - CMake 找不到 Protobuf `protobuf_generate_cpp`
- javascript - 用于单独输入 HH/mm 的 jQuery/Javascript 时间选择器
- r - 从 R 中的 Excel 文件中清除文本(删除停用词、标点符号等)
- overriding - Yocto:有没有办法删除 local.conf 中的 SRC_URI 项?
- hadoop - 在 hive 中分解多个结构数组
- python-3.x - 在单个文件中写入 2 个 csv 文件的公共元素(具有不同的列数)
- python - 添加一个列表类
- angular - 有什么方法可以删除组件选择器标签而不删除它的内容?