casefold()方法——所有大写字符转换为小写

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

语法参考

casefold()方法是Python3.3版本之后引入的,其效果和lower()方法非常相似,都可以转换字符串中所有大写字符为小写。

两者的区别是:lower()方法只对ASCII编码,也就是‘A-Z’有效,而casefold()方法对所有大写(包括非中英文的其他语言)都可以转换为小写。casefold()方法的语法格式如下:

str.casefold()

返回将字符串中所有大写字符转换为小写后生成的字符串。

    快用锦囊

锦囊1  将字符串中的大写字母转换为小写

下面使用casefold()方法对输入的大写字母进行转换,代码如下:

while 1:  #循环输入

    str1=input('请输入英文:')

    print(str1.casefold())

运行程序,输出结果为:

请输入英文:MRSOFT

mrsoft

请输入英文:WWW.mingrisoft.com

www.mingrisoft.com

锦囊2  对非中英文的其他语言字符串中的大写转换为小写

例如,德语中的“ß”分别使用lower()方法和casefold()方法转换为小写,代码如下:

a = 'ß  Fußball'  #德语

print(a.lower()) 

print(a.casefold())

运行程序,输出结果为:

ß  fußball

ss  fussball

从以上结果看:lower()方法没有进行转换,而casefold()方法将“ß”转换为小写字母“ss”。因此,在对非中英文的其他语言字符串中的大写转换为小写时,应使用casefold()方法。

锦囊3  判断英文短句是否为“回文”

首先科普下“回文”。在中文中,相同的词汇或句子调换位置或颠倒过来,产生首尾回环的情趣,叫做回文。例如,“客上天然居,居然天上客”;心清可品茶,茶品可清心。而在英语中,回文是一种英语修辞手法。英语中最著名的一个回文,是拿破仑被流放到Elba岛时说的一句话:Able was I ere I saw Elba(在我看到Elba岛之前,我曾所向无敌),这句话不论是从左向右看,还是从右向左看,内容都一样。下面我们就用Python来检测一下,首先需要将英文统一转换为小写,然后再进行判断,否则会影响判断结果。代码如下:

cn='在我看到Elba岛之前,我曾所向无敌'

en = 'Able was I ere I saw Elba'

#转换为小写

en = en.casefold()

#反转字符串

rev_en = reversed(en)

print(cn)

print(en)

print(list(en))

print(list(reversed(en)))

#判断字符串是否为“回文”

if list(en) == list(rev_en):

    print('此句是回文!')

else:

    print('此句不是回文!')

运行程序,输出结果为:

在我看到Elba岛之前,我曾所向无敌

able was i ere i saw elba

['a', 'b', 'l', 'e', ' ', 'w', 'a', 's', ' ', 'i', ' ', 'e', 'r', 'e', ' ', 'i', ' ', 's', 'a', 'w', ' ', 'e', 'l', 'b', 'a']

['a', 'b', 'l', 'e', ' ', 'w', 'a', 's', ' ', 'i', ' ', 'e', 'r', 'e', ' ', 'i', ' ', 's', 'a', 'w', ' ', 'e', 'l', 'b', 'a']

此句是回文!

还有一句是关于巴拿马运河的:A man, a plan, a canal, Panama,判断该句应不仅要转换为小写,还要去标点符号、去空格,感兴趣的读者可自行尝试。

锦囊4  判断小写字母在所在字符串中出现的次数

首先将字符串中的英文字母转换为小写,然后进行统计,代码如下:

import string

#26个小写英文字母

chars = string. ascii_lowercase

print('26个小写英文字母:',chars)

str = 'WWW.mingrisoft.COM mingribook.Com mrbccd.Com'

print('原字符串:',str)

str = str.casefold()

c = {}.fromkeys(chars,0)

#统计小写字母出现的次数

for char in str:

    if char in c:

       c[char] += 1

print(c)

运行程序,输出结果为:

26个小写英文字母: abcdefghijklmnopqrstuvwxyz

原字符串: WWW.mingrisoft.COM mingribook.Com mrbccd.Com

{'a': 0, 'b': 2, 'c': 5, 'd': 1, 'e': 0, 'f': 1, 'g': 2, 'h': 0, 'i': 4, 'j': 0, 'k': 1, 'l': 0, 'm': 6, 'n': 2, 'o': 6, 'p': 0, 'q': 0, 'r': 3, 's': 1, 't': 1, 'u': 0, 'v': 0, 'w': 3, 'x': 0, 'y': 0, 'z': 0}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/40123.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于深度学习的虚拟换装

基于深度学习的虚拟换装技术旨在通过计算机视觉和图像处理技术,将不同的服装虚拟地穿在用户身上,实现快速的试穿和展示。这项技术在电商、时尚和虚拟现实领域具有广泛的应用,能够提升用户体验,增加互动性。以下是关于这一领域的系…

bazel的详细使用教程

由于CSDN;复制近来的mk笔记格式太乱 建议看这个pdf文档 https://download.csdn.net/download/qq_41537499/89512254 为什么要学习bazel? 从Android 14开始,Google仍然强烈建议开发者使用Bazel和Kleaf构建Android内核及其工件。这表明Bazel在…

一篇文章用python GUI构建学生管理系统

引言 通过使用Python,我们可以利用其简洁和功能强大的特性,结合Tkinter提供的GUI开发能力,快速构建一个直观且易于使用的学生管理系统。 准备工作 在开始之前,确保你的开发环境中已经安装了 PythonTkinter库 安装完成后&…

华为HCIP Datacom H12-821 卷23

1.单选题 下面是路由器Huawei的部分配置信息,关于该配置信息描述错误的是: [HUAWEl] ip as-path-filter 2 permit_200 300[HUAWEI]route-policy test permit node 10 [HUAWE-route-policy]if-match as-path-filter 2 该Route Policy只能在OSPF进程中进行调用B、设置序…

LINUX高级编程part1

使用Linux系统提供的函数实现功能 shell程序的作用--->保护Linux内核,提供一个与用户交互的界面 shell有两种 1、 图形化shell 2、命令行shell shell编程就是使用一些shell命令来完成一些功能 在linux中创建 : …

Qt:5.QWidget属性介绍(Enabled属性-控件可用性设置、geometry属性-控件位置/大小设置)

目录 一、 QWidget属性的介绍: 二、Enabled属性-控件可用性设置: 2.1Enabled属性的介绍: 2.2获取控件当前可用状态的api——isEnabled(): 2.3设置控件当前的可用状态的api—— setEnabled() : 2.4 实例&#xff…

CMake 3.19:预设

可以以 JSON 的方式添加预设,用户将获得预设的默认值。find_package 支持版本范围,特殊的查找模块,比如:FindPython,有对版本范围的自定义支持。添加了许多新的权限控制,进一步的普及生成器表达式。 首次发…

Rhino 犀牛三维建模工具下载安装,Rhino适用于机械设计广泛领域

Rhinoceros,这款软件小巧而强大,无论是机械设计、科学工业还是三维动画等多元化领域,它都能展现出其惊人的建模能力。 Rhinoceros所包含的NURBS建模功能,堪称业界翘楚。NURBS,即非均匀有理B样条,是计算机图…

代码随想录算法跟练 | Day13 | 栈与队列 Part03

个人博客主页:http://myblog.nxx.nx.cn 代码GitHub地址:https://github.com/nx-xn2002/Data_Structure.git Day13 239. 滑动窗口最大值 题目链接: https://leetcode.cn/problems/sliding-window-maximum/ 题目描述: 给你一个整…

昇思25天学习打卡营第6天|数据变换 Transforms

学习目标:熟练掌握数据变换操作 熟悉mindspore.dataset.transforms接口 实践掌握常用变换 昇思大模型平台学习心得记录: 一、关于mindspore.dataset.transforms 1.1 变换 mindspore.dataset.transforms.Compose将多个数据增强操作组合使用。 mindspo…

最靓丽的C++开源通知弹框SnoreToasts自动监听软件及网页通知

SnoreToasts,作为一款轻量级的C开源项目,为开发者提供了一个便捷的方式来在Windows操作系统上展示通知弹框(Toast Notifications)。 特点与优势 轻量级:SnoreToasts采用了简洁的代码设计,避免了不必要的依…

Zabbix 配置端口监控

Zabbix 端口监控简介 在Zabbix中配置端口监控,可以帮助你实时监控服务器或网络设备上的特定端口是否开放和可访问。Zabbix提供了多种方式来监控端口,主要包括简单的端口可用性检查和更复杂的服务监控。 在Zabbix中进行端口监控时,不一定需要…

AI赋能视创云展元宇宙展厅,打造沉浸式智能观展体验!

在AI人工智能迅猛发展的背景下,视创云展将元宇宙展厅与“AI智能助手”深度融合,这无疑是一次前瞻性的创新尝试,极大地丰富了展览展示的形式与内容,为参观者打造了一个既沉浸又智能的观展新纪元。 一、沉浸式体验 元宇宙展厅利用虚…

【数据分析】通过python分析提取matlab工作区中的数据

#%% import scipy.io import pandas as pd import numpy as np# Load the .mat file file_path clay_C.mat mat_data scipy.io.loadmat(file_path)## 建立结果表格 # 定义行、列名 columns [0.1, 0.5, 1, 2, 3, 4, 5] index [0.1, 0.5, 1, 2, 3, 4, 5]my_psnrs_mean pd.Da…

OpenAI 向少部分用户推出 GPT-4o(S2S)模型;Meta 发布 3D Gen AI 模型丨 RTE 开发者日报

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「…

题目汇总三

Question One 函数应用 import java.util.Arrays;public class Main{public static void main(String[] args){String s1 "you are a student";String s2 "you are a ";// 判断前缀if(s1.startsWith(s2)){System.out.println("\"" s1 &…

【Python】基于动态规划和K聚类的彩色图片压缩算法

引言 当想要压缩一张彩色图像时,彩色图像通常由数百万个颜色值组成,每个颜色值都由红、绿、蓝三个分量组成。因此,如果我们直接对图像的每个像素进行编码,会导致非常大的数据量。为了减少数据量,我们可以尝试减少颜色…

Redis理解【精细】【快速上手】

目录 1. 了解3V和3高 2.什么是redis 3. redis可以做什么 4. Windows安装 5. 使用redis客户端操作redis 5.1 redis基本命令 5.1.1 切换数据库 5.1.2 查看当前数据库的大小 5.1.3 查看当前数据库所有的key ​​​​​​​ 5.1.4 清空当前数据库所有key 5.1.5 清空所…

Element 的 el-table 表格实现单元格合并

html 部分 <template><div class"index-wapper"><el-table :data"tableData" :span-method"objectSpanMethod" border><el-table-column v-for"(item, index) in tableHeader" :key"index" :prop&quo…

vue中使用amis(做管理后台渲染器)

0.导入amis sdk 在github上下载 sdk.tar.gz&#xff1a;https://github.com/baidu/amis/releases 若网速不行&#xff0c;github下载不下来&#xff0c;可以这样&#xff1a; yarn add amis&#xff0c;然后在 node_modules\amis\sdk 目录里就能找到相关资源 public/index.…