笔记:定义函数count(),统计一个字符串中大写字母、小写字母、数字的个数,并以字典为结果返给调用者。


前言

题目:定义函数count(),统计一个字符串中大写字母、小写字母、数字的个数,并以字典为结果返给调用者。

程序定义了一个函数 count(),用于统计给定字符串中的大写字母、小写字母和数字的个数,并将统计结果以字典形式返回给调用者。
该函数通过遍历字符串中的每个字符,逐一判断其是否为大写字母、小写字母或数字,并在相应的计数器中进行累加。
最终返回一个字典,其中包含了大写字母、小写字母和数字的个数统计结果。

一、字典是什么?

字典是Python中一种灵活的数据结构,用于存储键值对(key-value pairs)。字典中的每个元素都由一个键(key)和一个对应的值(value)组成,键和值之间用冒号分隔,每对键值对之间用逗号分隔,整体包裹在花括号 {} 中。

字典的特点包括:

键必须是唯一的,但值可以重复;
键可以是不可变的数据类型,例如整数、浮点数、字符串、元组等,而值则可以是任意类型的数据,包括列表、字典、函数等;
字典中的元素是无序的,即没有固定的顺序。
在Python中,可以使用字典来存储和访问各种类型的数据,例如配置信息、用户信息、数据记录等。字典提供了一种高效的方式来根据键来查找和获取对应的值,因此在实际编程中经常被广泛使用。

二、什么是定义函数count()?

在Python中,定义函数是指创建一个可重用的代码块,用于执行特定的任务或操作。函数可以接受输入参数,进行一些处理,并返回结果。函数的定义通常包括函数名、参数列表和函数体。

函数定义:
函数名:count
参数列表:接受一个参数 s,表示要统计的字符串。
函数体:使用一个字典来存储大写字母、小写字母和数字的个数统计结果。通过遍历输入字符串的每个字符,判断字符的类型,并在相应的计数器中进行累加。最后返回统计结果字典。
返回值:返回一个字典,其中包含大写字母、小写字母和数字的个数统计结果。
这样定义的函数可以被反复调用,每次传入不同的字符串参数,都能得到相应的统计结果。

三、编写代码

1.代码

代码如下(示例):

# (3)定义函数count(),统计一个字符串中大写字母、小写字母、数字的个数,并以字典为结果返给调用者。

# 定义函数count(),接受一个字符串作为参数
def count(s):
    # 初始化一个字典,用于存储大写字母、小写字母、数字的个数
    zid = {'大写字母': 0,  # 初始化大写字母计数为0
            '小写字母': 0,  # 初始化小写字母计数为0
            '数字': 0,      # 初始化数字计数为0
    }

    # 遍历字符串中的每个字符
    for char in s:
        # 如果字符是大写字母,将大写字母计数加1
        if char.isupper():
            zid['大写字母'] += 1
        # 如果字符是小写字母,将小写字母计数加1
        elif char.islower():
            zid['小写字母'] += 1
        # 如果字符是数字,将数字计数加1
        elif char.isdigit():
            zid['数字'] += 1
    # 返回统计结果字典
    return zid

# 测试示例字符串
s = "HELLO word 34434"
# 调用count()函数并打印结果
print(count(s))


这段代码定义了一个函数count(),其功能是统计一个字符串中大写字母、小写字母、数字的个数,并以字典的形式返回给调用者。

让我们逐行分析:

  1. def count(s)::定义了一个名为count的函数,它接受一个字符串s作为参数。

  2. zid = {'大写字母': 0, '小写字母': 0, '数字': 0}:初始化一个字典zid,用于存储大写字母、小写字母、数字的个数,初始值都为0。

  3. for char in s::对字符串s中的每个字符进行遍历。

  4. if char.isupper()::检查当前字符是否为大写字母。

  5. zid['大写字母'] += 1:如果是大写字母,则将字典中对应键的值加1。

  6. elif char.islower()::检查当前字符是否为小写字母。

  7. zid['小写字母'] += 1:如果是小写字母,则将字典中对应键的值加1。

  8. elif char.isdigit()::检查当前字符是否为数字。

  9. zid['数字'] += 1:如果是数字,则将字典中对应键的值加1。

  10. return zid:返回统计结果字典。

  11. s = "HELLO word 34434":定义了一个测试字符串s

  12. print(count(s)):调用count()函数并打印结果,即统计了测试字符串中大写字母、小写字母、数字的个数。


总结

本文介绍了Python中字典的概念以及如何定义函数来统计字符串中的大写字母、小写字母和数字的个数。首先,我们了解了字典作为一种灵活的数据结构,可以用来存储键值对,并对其特点进行了说明。其次,我们深入探讨了如何定义函数,以count()函数为例,详细解释了函数的命名、参数列表、函数体和返回值等要素。然后,通过具体的代码示例演示了如何编写count()函数来实现字符串统计功能,包括初始化字典、遍历字符串、判断字符类型并累加计数等步骤。最后,我们对整个过程进行了总结,强调了文章涵盖的内容及其重要性。

  • 26
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
KMP算法是一种字符串匹配算法,用于在一个文本串S内查找一个模式串P的出现位置。它的时间复杂度为O(n+m),其n为文本串的长度,m为模式串的长度。 KMP算法的核心思想是利用已知信息来避免不必要的字符比较。具体来说,它维护一个next数组,其next[i]表示当第i个字符匹配失败时,下一次匹配应该从模式串的第next[i]个字符开始。 我们可以通过一个简单的例子来理解KMP算法的思想。假设文本串为S="ababababca",模式串为P="abababca",我们想要在S查找P的出现位置。 首先,我们可以将P的每个前缀和后缀进行比较,得到next数组: | i | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | | --- | - | - | - | - | - | - | - | - | | P | a | b | a | b | a | b | c | a | | next| 0 | 0 | 1 | 2 | 3 | 4 | 0 | 1 | 接下来,我们从S的第一个字符开始匹配P。当S的第七个字符和P的第七个字符匹配失败时,我们可以利用next[6]=4,将P向右移动4个字符,使得P的第五个字符与S的第七个字符对齐。此时,我们可以发现P的前五个字符和S的前五个字符已经匹配成功了。因此,我们可以继续从S的第六个字符开始匹配P。 当S的第十个字符和P的第八个字符匹配失败时,我们可以利用next[7]=1,将P向右移动一个字符,使得P的第一个字符和S的第十个字符对齐。此时,我们可以发现P的前一个字符和S的第十个字符已经匹配成功了。因此,我们可以继续从S的第十一个字符开始匹配P。 最终,我们可以发现P出现在S的第二个位置。 下面是KMP算法的C++代码实现:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辞言i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值