Python之字符串、正则表达式练习

目录

    • 1、输出随机字符串
    • 2、货币的转换(字符串 crr107)
    • 3、凯撒加密(book 实验 19)
    • 4、字符替换
    • 5、检测字母或数字
    • 6、纠正字母
    • 7、输出英文中所有长度为3个字母的单词

1、输出随机字符串

编写程序,输出由英文字母大小写或数字组成的长度为 10 且不重复的随机字符串。

import random
import string
#0-9数字,a-Z字母
print(string.digits)
print(string.ascii_letters)

i=','.join(random.choice(string.digits+string.ascii_letters) for a in range(10))
print(i)

random.sample选择不重复:

import random
import string

i=','.join(random.sample(string.digits+string.ascii_letters,20))
print(i)

在这里插入图片描述

2、货币的转换(字符串 crr107)

编写程序,实现货币的转换。从键盘输入美元的币值,转换为人民币的币值并输出,
结果保留 2 位小数。假设美元兑换人民币的汇率是 6.868。运行效果如下。
输入:请输入要兑换的美元,以 结束: 3.5 结束:3.5 结束:3.5
输出:24.04

dollar=input("输入美元:")
d=float(dollar[:-1])
yuan=d*6.868
print(round(yuan,2))

在这里插入图片描述

3、凯撒加密(book 实验 19)

凯撒加密算法的原理:把明文中每个英文字母替换为该字母在字母表中后面第 k 个字
母。如果后面 k 个字母超出字母表的范围,则字母表首尾相接,也就是字母 Z 的下一个字母
是 A,字母 z 的下一个字母是 a。要求明文中的大写字母、小写字母分别进行处理。编写程
序,输入一个字符串作为明文和一个整数作为凯撒加密算法的密钥,最后输出加密后的结果。
提示:利用字符串和切片操作

import string
def kaisa(s,k):
    lower=string.ascii_lowercase
    upper=string.ascii_uppercase
    letter=string.ascii_letters
    # 实现加密
    after=lower[k:]+lower[:k]+upper[k:]+upper[:k]
    # 创建映射表
    table=''.maketrans(letter,after)
    # 输入值与表映射
    return s.translate(table)

s=input("输入一串字符")
k=int(input("输入加密k"))
print(kaisa(s,k))

在这里插入图片描述

4、字符替换

使用正则表达式,编写程序将所有地址中的ROAD写成RD.例如,字符串“this is road .….,This is ROAD,This is Road”,替换成“this is RD…,this isRD.,this is RD."

import re
sentence='this is road ....,This is ROAD,This is Road'
replace='RD'
# re.IGNORECASE匹配时忽略大小写
last=re.sub(r'\bROAD\b','RD',sentence,flags=re.IGNORECASE)
print(last)

在这里插入图片描述

5、检测字母或数字

使用正则表达式,编写程序检测字符串是否是由字母或者数字组成。

import re
sentence='liuwei666'
flag=re.match(r'^[a-zA-Z0-9]*$',sentence)
if flag:
    print('是有字母或数字组成')
else:
    print('不是由字母或数字组成')

在这里插入图片描述

6、纠正字母

假设有一段英文“I am a teacher,I am man,and I am 38 years old.I am not a busInessman.”,其中有单词buslnessman中间的字母“i”误写为“I”,请编写程序使用正则表达式进行纠正。运行效果如下。

import re
sentence='I am a teacher,I am man,and I am 38 years old.I am not a busInessman.'
last=re.sub(r'\BI\B','i',sentence)
print(last)

在这里插入图片描述

7、输出英文中所有长度为3个字母的单词

编写程序,用户输入一段英文,然后输出这段英文中所有长度为3个字母的单词。

import re
# sentence=input("输入一段英文")
sentence1='I am a teacher,I am man,and I am 38 years old.I am not a businessman'
last=re.findall(r'\b\w{3}\b',sentence1)
print(last)

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

现一个智能的SQL编辑器

补给资料 管注公众号:码农补给站 前言 目前我司的多个产品中都支持在线编辑 SQL 来生成对应的任务。为了优化用户体验,在使用 MonacoEditor 为编辑器的基础上,我们还支持了如下几个重要功能: 多种 SQL 的语法高亮多种 S…

订水商城实战教程08-轮播图

首页我们已经开发了店铺信息展示以及搜索功能,接着需要展示轮播图的功能。轮播图需要存放在数据源中,点击图片的时候要访问公众号的文章。 1 创建数据源 先创建数据源用来存放轮播图,打开控制台,点击数据模型,点击号…

sqlite3.NotSupportedError: deterministic=True requires SQLite 3.8.3 or higher

问题描述 sqlite3.NotSupportedError: deterministicTrue requires SQLite 3.8.3 or higher 解决方法 A kind of solution is changing the database from sqlite3 to pysqlite3. After acticate the virtualenv, install pysqlite. pip3 install pysqlite3 pip3 install …

网工内推 | 上市公司,云平台运维,IP认证优先,13薪

01 上海新炬网络信息技术股份有限公司 招聘岗位:云平台运维工程师 职责描述: 1、负责云平台运维,包括例行巡检、版本发布、问题及故障处理、平台重保等,保障平台全年稳定运行; 2、参与制定运维标准规范与流程&#x…

Ansible 自动化运维工具 --- playbook 剧本

文章目录 1. Host inventory ---- 主机清单1.1 简介1.2 inventory文件1.3 Inventory 文件的构成1.3.1 主机与组1.3.2 变量 1.4 inventory 中的常用变量 2. Ansible-playbook剧本2.1 简介2.2 Playbook的结构组成2.3 编写playbook的基本格式与写法2.3.1 基本格式2.3.2 语句的横向…

【T690 之十二】基于方寸EVB2开发板(T690芯片)构建基于GMSSL的文件系统的方式

备注: 1,假设您已对方寸微电子的T690系列芯片的使用方式都有了一定的了解,然后需要构建基于GMSSL的文件系统,此文才对您有意义; 2,若您对方寸微电子的T690芯片不了解,但想进一步了解它&#xff…

[C++ 中]:6.类和对象下(static成员 + explicit +友元函数 + 内部类 + 编译器优化)

(static成员 explicit 友元函数 内部类 编译器优化) 一.static 成员:1.概念引入:1-1:定义全局变量记录个数? 2.如果有多个类需要分开去记录类对象的个数?2-1:可不可以声明成员变量解决&#…

LangChain之关于RetrievalQA input_variables 的定义与使用

最近在使用LangChain来做一个LLMs和KBs结合的小Demo玩玩,也就是RAG(Retrieval Augmented Generation)。 这部分的内容其实在LangChain的官网已经给出了流程图。 我这里就直接偷懒了,准备对Webui的项目进行复刻练习,那么…

HTML的初步学习

HTML HTML 描述网页的骨架, 标签化的语言. HTML 的执行是浏览器的工作,浏览器会解析 html 的内容,根据里面的代码,往页面上放东西,浏览器的工作归根结底,还是以汇编的形式在CPU上执行. 浏览器对于html语法格式的检查没有很严格,即使你写的代码有一些不合规范之处,浏览器也会尽可…

GIS开发入门,TopoJSON格式是什么?TopoJSON格式与GeoJSON格式有什么不同?

TopoJSON介绍 TopoJSON是一种几何拓扑结构的地理数据格式,它使用拓扑结构来表示地理对象,可以更有效地压缩和转移数据,从而加快数据加载速度。 TopoJSON格式构成 TopoJSON文件由三部分组成,transform、objects和arcs组成。transform描述了变换参数; objects描述地理实体…

NCV7721D2R2G一款完全保护的双半桥驱动器 专为汽车工业运动控制解决方案

NCV7721D2R2G是一款完全保护的双半桥驱动器,专为汽车和工业运动控制应用而设计。两个半桥驱动器具有独立控制。这允许高侧、低侧和H桥控制。H桥控制提供正向、反向、制动和高阻抗状态。驱动器通过逻辑电平输入进行控制。 特性: 1.睡眠模式下的超低静态电…

生成无损压缩png和有损压缩png的做法

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> png是一种常用的图像格式。png一般为无损压缩,但是可以是有损压缩的。 下图都是100x100的png图像,一个是无损压缩,一个是有损压缩。 看着效果基本一样,但是它们的大小相差很大,无损…

WPF布局与控件分类

Refer:WPF从假入门到真的入门 - 知乎 (zhihu.com) Refer:WPF从假入门到真的入门 - 知乎 (zhihu.com) https://www.zhihu.com/column/c_1397867519101755392 https://blog.csdn.net/qq_44034384/article/details/106154954 https://www.cnblogs.com/mq0…

k8s之service五种负载均衡byte的区别

1,什么是Service? 1.1 Service的概念​ 在k8s中,service 是一个固定接入层,客户端可以通过访问 service 的 ip 和端口访问到 service 关联的后端pod,这个 service 工作依赖于在 kubernetes 集群之上部署的一个附件&a…

【黑马程序员】SpringCloud——Eureka

文章目录 前言一、提供者与消费者1. 服务调用关系 二、远程调用的问题三、eureka 原理分析1. eureka 的作用 四、Eureka 案例1. 搭建 eureka 服务1. 服务注册1.1 注册 user-service1.2 启动 user-service3. order-service 完成服务注册 3. 服务发现1. 在 order-service 完成服务…

把枯燥的PDF文档转换为翻页电子书,一键上传搞定

PDF是我们工作生活中比较常用的文档格式之一,由于PDF文件可以离线观看,所以通常都是静态的,有时候密密麻麻的文字看得很是头晕眼花,这使得阅读体验变得单调乏味。 为了解决这个问题 , 我们推荐使用FLBOOK &#xff0c…

JS逆向爬虫---响应结果加密⑤【token参数加密与DES解密】

https://spa7.scrape.center/ 文本数据 数据内嵌在js内,普通合理请求即可获取 图片 位于固定接口 类似https://spa7.scrape.center/img/durant.png 固定url名称 Token 参数确定 base64Name > base64编码后的中文名称 nodejs 代码 //导入crypto-js模块 var CryptoJS…

【AntDesign】Docker部署

docker部署是主流的部署方式,极大的方便了开发部署环境,保持了环境的统一,也是实现自动化部署的前提。 1 项目的目录结构 dist: 使用build打包命令,生成的打包目录 npm run build : 打包项目命令 docker: 存放docker容器需要修改…

Elasticsearch:ES|QL 中的数据丰富

在之前的文章 “Elasticsearch:ES|QL 查询语言简介”,我有介绍 ES|QL 的 ENRICH 处理命令。ES|QL ENRICH 处理命令在查询时将来自一个或多个源索引的数据与 Elasticsearch 丰富索引中找到的字段值组合相结合。这个有点类似于关系数据库查询中所使用的 jo…

【Proteus仿真】【Arduino单片机】OLED液晶显示

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用IIC OLED液晶等。 主要功能: 系统运行后,OLED液晶显示各种图形、字符、图像。 二、软件设计 /* 作者:嗨小…