我编写了一个函数,它接受一个字符串并返回该字符串中小写字母和大写字母的计数。这个程序只适用于一个单词,但只要我在两个单词之间加上两个包含空格的单词,就会把事情搞砸。空间也很重要。 你的想法是什么?你知道吗
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)
从“hellog”这个词中,我们期望大写字母和小写字母
算作1,5
,但两个单词之间的空格使之成为2,6
。你知道吗
编辑:删除了
string
模块。使用内部islower
和isupper
方法。你知道吗在这里使用regex将是一个更干净的解决方案
问题是
' ' == ' '.upper()
和' ' == ' '.lower()
都是真的,并且您没有检查当前是在处理字母数字字符还是其他字符。相反,您可以检查您使用的是小写字母还是大写字母。你知道吗试试这个:
相关问题 更多 >
编程相关推荐