【Python】字符串

1.   字符串读取、拼接、匹配、随机生成

2.    ‘’.join()连接字符串

3.    使用了random随机函数

4.    字符串列表里面使用判断语句调用函数


1、输入一个字符串,将该字符串中下标为偶数的字符组成新串并通过字符串格式化方式显示。

def get_even_indexed_chars(s):# 使用列表推导式获取下标为偶数的字符even_indexed_chars = [s[i] for i in range(len(s)) if i % 2 == 0]# 使用join方法将列表中的字符连接成字符串even_indexed_str = ''.join(even_indexed_chars)# 使用字符串格式化方式显示结果formatted_str = "下标为偶数的字符组成的新串是: {}".format(even_indexed_str)return formatted_str# 测试函数
input_str = "Hello, World!"
print(get_even_indexed_chars(input_str))

2、编写程序,生成一个由15个不重复的大小写字母组成的列表。

import random
import stringdef generate_unique_letters_list(num_letters=15):# 创建一个包含所有大小写字母的集合all_letters = set(string.ascii_letters)# 如果要生成的字母数量超过了集合中的字母总数,则抛出异常if num_letters > len(all_letters):raise ValueError("Cannot generate a list with more unique letters than available in the set of all letters.")# 从集合中随机选择指定数量的字母,并转换为列表unique_letters_list = random.sample(all_letters, num_letters)return unique_letters_listunique_letters_list = generate_unique_letters_list()
print(unique_letters_list)

3、给定字符串"site sea suede sweet see kase sse ssee loses",匹配出所有以s开头、e结尾的单词。

import re# 给定的字符串
s = "site sea suede sweet see kase sse ssee loses"# 使用正则表达式匹配以's'开头并以'e'结尾的单词
matches = re.findall(r'\bs\w*e\b', s)# 打印所有匹配的单词
for match in matches:print(match)

4、生成15个包括10个字符的随机密码,密码中的字符只能由大小写字母、数字和特殊字符“@”“$ ”“#”“&”“ ”“~”构成。

import random
import string# 定义字符集
characters = string.ascii_letters + string.digits + '@$#~& '# 生成随机密码的函数
def generate_password(length):return ''.join(random.choice(characters) for i in range(length))# 生成15个包含10个字符的随机密码
passwords = [generate_password(10) for _ in range(15)]# 打印密码
for i, password in enumerate(passwords, 1):print(f"密码{i}: {password}")

5、给定列表x=["13915556234","13025621456","15325645124","15202362459"].检查列表中的元素是否为移动手机号码,这里移动手机号码的规则是:手机号码共11位数字;以 13开头,后面跟4、5、6、7、8、9中的某一个;或者以15开头,后面跟0、1、2、8、9中的某一个。


def is_mobile_phone_number(number):# 校验手机号码长度是否为11位if len(number) != 11:return False# 校验手机号码是否只包含数字if not number.isdigit():return False# 提取手机号码的前两位prefix = number[:2]# 校验手机号码前缀if prefix == '13' and number[2] in '456789':return Trueelif prefix == '15' and number[2] in '01289':return Trueelse:return False# 给定的手机号码列表x = ["13915556234", "13025621456", "15325645124", "15202362459", "15302362459"]# 检查结果
valid_numbers = [num for num in x if is_mobile_phone_number(num)]
invalid_numbers = [num for num in x if not is_mobile_phone_number(num)]print("有效手机号码:", valid_numbers)
print("无效手机号码:", invalid_numbers)

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

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

相关文章

docker Harbor私有仓库部署管理

搭建本地私有仓库,但是本地私有仓库的管理和使用比较麻烦,这个原生的私有仓库并不好用,所以我们采用harbor私有仓库,也叫私服,更加人性化。 一、什么是Harbor Harbor是VWware 公司开源的企业级Docker Registry项…

TypeScript 基础学习笔记:interface 与 type 的异同

TypeScript 学习笔记:interface 与 type 的异同 🎣 引言 在 TypeScript的世界里,精准的类型定义是保证代码质量与团队协作效率的关键。interface 和 type 作为两种核心的类型定义工具,它们各自承载着不同的设计意图与应用场景。本…

分布式与一致性协议之ZAB协议(二)

ZAB协议 ZAB协议是如何实现操作地顺序性的? 如果用一句话解释ZAB协议到底是什么,我觉得它是能保证操作顺序性的、基于主备模式的原子广播协议。 接下来,还是以指令X、Y为例具体演示一下,帮助你更好地理解为什么ZAB协议能实现操作…

解决一个朋友的nbcio-boot的mysql数据库问题

1、原先安装mysql5.7数据库,导入我的项目里的带数据有报错信息 原因不明 2、只能建议用docker进行msyql5.7的安装 如下,可以修改成自己需要的信息 docker run -p 3306:3306 --name mastermysql -v /home/mydata/mysql/data:/var/lib/mysql -e MYSQL_R…

Pycharm安装包numpy和matplotlib安装

环境 python 3.12 Pycharm 2023.1 安装包 创建图表的 numpy 库和 matplotlib 库 安装过程出现的问题 setuptools工具包没有安装 Python packaging tool setuptools not found文件 -> 设置 -> 项目:xxx -> python解释器界面显示不出已安装的软件包,系…

Vue3+.NET6前后端分离式管理后台实战(十七)

1,Vue3.NET6前后端分离式管理后台实战(十七)已经在微信公众号更新,有兴趣的扫码关注一起交流学习。

03 - 步骤 Kafka producer

简介 Kafka producer 步骤,用于将 Kettle 中经过处理或转换的数据发送到 Kafka 的主题中 使用 场景 我需要把经过Kettle处理完的数据发送到一个Kafka中,让后端服务器进行下一步处理。 1、拖拽 Kafka producer 到面板 2、配置 Kafka producer 3、调试…

一、写给Android开发者之harmony入门

一、创建新项目 对比 android-studio:ability类似安卓activity ability分为两种类型(Stage模型) UIAbility和Extensionability(提供系统服务和后台任务) 启动模式 1、 singleton启动模式:单例 2、 multiton启动模式&#xff1…

TinTin Web3 Bounty 挑战杯第二期再启程,NEAR 生态邀请你来找 Bug!

对 Web3 来说,Bounty 任务应该是普通人获得行业“一杯羹”的重要捷径! 通过深入学习各类 Web3 公链技术,凭借实战锻炼开发创新项目,或完善已有网络运行中出现的问题,就有机会更加快速了解其底层技术逻辑,更…

笔记:编写程序,绘制一个展示支付宝月账单报告的饼图

文章目录 前言一、饼图是什么?二、编写代码总结 前言 笔记:编写程序,绘制一个展示支付宝月账单报告的饼图 (1) 导入 matplotlib.pyplot 模块; (2) 准备饼图所需的数据; …

在Node.js(express 框架)中使用 nodemailer 实现邮箱注册功能

文章目录 一、准备工作1、安装 nodemailer2、打开 QQ(此处使用QQ邮箱) 的 IMAP/SMTP服务 二、功能实现1、发送邮件功能封装2、生成随机验证码3、发送邮箱验证码4、注册功能 三、邮件接收消息展示四、参考资料 一、准备工作 1、安装 nodemailer yarn add nodemailer 2、打开 QQ…

Verilog中求两个数的差值

根据输入信号a,b的大小关系,求解两个数的差值:输入信号a,b为8bit位宽的无符号数。如果a>b,则输出a-b,如果a≤b,则输出b-a。 接口信号图如下: 代码如下: (CSDN代码块不支持Veril…