当前位置: 首页 > article >正文

Python计算两个给定单词之间相同字符的数量

Python每日一练

文章目录

  • Python每日一练
  • 问题:
  • 代码实现
    • 示例输入:
    • 示例输出:
  • 总结
    • 示例输出:


问题:

编写一个程序来计算两个给定单词之间相同字符的数量。

需要考虑字符是区分大小写的(即a和A是不同的字符)。

例如,单词cookie和cool有两个字符相同:c和o。因此,输出应该是2。

另一方面,单词Blow和beer没有相同的字符,因为B和b视为不同的字符。

定义函数shared_chars_count(),有两个参数:word1和word2。
该函数应返回两个单词中相同字母的数量。
考虑字符区分大小写。
一个相同字符计数一次。

题目来源:PythonTip
https://edu.py2fun.com/


代码实现

代码如下(示例):

def shared_chars_count(word1, word2):
    # 此处编写代码
    new_s1 = []         # 字符串去重
    for char in word1:
        if char not in new_s1:
            new_s1.append(char)     # 遍历字符串并加入非重复字符的列表
    new_s1 = "".join(new_s1)        # 转换为字符串
    
    new_s2 = []
    for char in word2:
        if char not in new_s2:
            new_s2.append(char)
    new_s2 = "".join(new_s2)  

    count = 0       # 统计相同数字
    for i in new_s1:
        if i in new_s2:
            count += 1
    
    return count


# 获取输入
word1 = input()
word2 = input()

# 调用函数
print(shared_chars_count(word1, word2))

示例输入:

cookie
cool

示例输出:

2


总结

根据题目的描述我们可以把这个问题拆分成两个部分来解决:
第一部分,题目要求相同字符只统计一次,而单词里难免会出现一个字母多次出现的情况,因此首先对输入的两个字符串各自完成去重操作;
第二部分,对完成去重的两个字符串进行统计比较相同字符即可。
这就是本次题目的解题思路。

这里我们再补充一点关于字符串去重的问题。代码中我们通过自定义方法完成对字符串的去重操作,当然我们也可以利用Python中的某些数据类型的特点解决这个问题,例如集合数据类型会自动去除重复元素,使用set()构造函数将字符串转换为集合,再将集合转换为字符串,同样也可完成字符串去重操作。

代码如下(示例):

s = "cookie"
new_s = list(set(s))  # 转换为集合再转换为列表
new_s = "".join(set(s))  # 转换为集合再转换为字符串

示例输出:

‘cokie’


http://www.kler.cn/news/161015.html

相关文章:

  • methods
  • kafka3.6.0部署
  • 分享一个基础面试题---手写call
  • UDP Socket API 的讲解,以及回显服务器客户端的实现
  • 如何在Linux上部署1Panel运维管理面板并远程访问内网Web端管理界面
  • 图像瞎总结
  • 深入了解MySQL临时表的使用和优势
  • 简谈PostgreSQL的wal_level=logic
  • RT_Thread_使用FAL组件配置stm32f407片上flash读写
  • 亚马逊云科技re:Invent,生成式AI正在彻底改变开发者的工作方式
  • 无与伦比的夜景增强技术解决方案
  • 【智能家居】二、添加火灾检测模块(烟雾报警功能点)
  • 普华永道:国有企业要动态布局和管理供应商资源池
  • 【c】杨辉三角
  • FreeRTOS系统延时函数分析
  • Large Language Models areVisual Reasoning Coordinators
  • 优思学院|六西格玛质量管理的工具、方法和手段
  • 在Spring Boot中使用JavaMailSender发送邮件
  • 概念理论类-k8s :架构篇
  • UML图部分总结
  • 练习-java输入输出之文件字节io流之合并文件
  • leetcode:93. 复原 IP 地址
  • 要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 21 章:课程学习提示
  • 聊聊java的两种锁同步锁和重入锁
  • 【Element-ui】Layout与Container组件
  • Python版本与opencv版本的对应关系
  • FFmpeg之将视频转为16:9(横屏)或9:16(竖屏)(三十六)
  • BCI-Two-streams hypothesis(双流假说)
  • 2022年全国大学生数据分析大赛医药电商销售数据分析求解全过程论文及程序
  • Vector Quantized Diffusion Model for Text-to-Image Synthesis