如何定义一个计算小写字母的函数,直到达到一个值?

2024-06-30 08:28:32 发布

您现在位置:Python中文网/ 问答频道 /正文

定义一个函数countlowerfromtill(…),它接收一个字符串(st)和一个整数值(start)作为输入。字符串也可能是空字符串。此函数应返回输入字符串st中有多少小写字母,开始计数(包括)起始位置,并一次前进一个位置,直到到达字符串结尾或到达一个数字(如果有)。字符串可以包含字母或数字。如果起始值超出字符串范围,则函数应返回0。注意:请记住,返回true的string方法islower()应用于仅包含小写字母的字符或字符串。你知道吗

例如countlowerfromtill(“ABCxAxx1aa”)应该返回3,因为在到达数字1之前有三个小写字母(3“x”)

例如,以下代码片段:

val = countLowerFromUntil("ABCxAxx1aa",0)

print (val)

应产生输出:

3

到目前为止,我有这个,但我得到一个错误:

def countLowerFromUntil(st,ch):
    s = st().strip()

    count = 1
    for i in s:
        if i.islower():
            count = count + 1
    return count

Tags: 函数字符串定义count数字valstart数值
1条回答
网友
1楼 · 发布于 2024-06-30 08:28:32

你需要考虑到start。从开始索引开始迭代。你可以切你需要的东西。您不需要剥离(剥离空格可能会使start无效)

算法如下:

  • 计数从0开始
  • 如果遇到数字,请停止计数!你知道吗
  • 如果遇到小写字符,请增加计数器。你知道吗
  • 在函数末尾返回count

def f(string, start):
    count = 0
    for c in string[start:]:
        if c.isdigit():
            break
        elif c.islower():
            count += 1

    return count
>>> f("ABCxAxx1aa", 0)
3

相关问题 更多 >