Python的字符串操作简单实例
作者:程序喵正在路上 发布时间:2021-03-13 07:16:00
实例1:获取星期字符串
程序读入一个表示星期几的数字(1~7),输出对应的星期字符串名称。例如,输入 3,返回“星期三”。
代码如下:
weekstr = "星期一星期二星期三星期四星期五星期六星期日"
weekid = eval(input("请输入星期数字(1~7):"))
pos = (weekid - 1) * 3 # 获取对应星期的起始位置
print(weekstr[pos: pos+3])
程序运行结果如下:
请输入星期数字(1~7):6
星期六
题目通过在字符串中截取适当子串实现星期名称的查找。问题的关键在于找出子串的剪切位置。因为每个星期日期的缩写都由 3 个字符组成,如果知道星期日期字符串的起始位置,就能很容易获得缩写子串。 通过下面语句,可以获得从起始位置pos开始且长度为 3 的子串:
weekAbbr = weekstr[pos: pos+3]
使用字符串作为查找表的缺点是,所剪切的子字符串长度必须相同。如果各缩写表示长度不同,还需要其他语句辅助。
实例2:获取月份字符串
参考实例1,实现一个 “获取月份字符串” 的程序,要求根据1~12的数字返回对应月份的名称。
思路和实例1差不多,但是因为 十一月 和 十二月 是 3 个字,所以我们增加了判断语句。
代码如下:
monthstr = "一月二月三月四月五月六月七月八月九月十月十一月十二月"
monthid = eval(input("请输入月份数字(1~12):"))
if monthid > 0 and monthid <= 10: # 1月到 10 月的情况
pos = (monthid - 1) * 2 # 获取对应月份的起始位置
print(monthstr[pos: pos + 2])
elif monthid == 11: # 11 月的情况
pos = (monthid - 1) * 2 # 获取对应月份的起始位置
print(monthstr[pos: pos + 3])
elif monthid == 12: # 11 月的情况
pos = (monthid - 1) * 2 + 1 # 获取对应月份的起始位置
print(monthstr[pos: pos + 3])
else:
print("输入有误!")
程序运行结果如下:
请输入月份数字(1~12):6
六月 请输入月份数字(1~12):11
十一月 请输入月份数字(1~12):12
十二月 请输入月份数字(1~12):13
输入有误!
实例3:恺撒密码
设想在某些情况下给朋友传递字条信息,但又不希望传递中途被第三方看懂这些信息,因此需要对字条信息进行加密处理。传统加密算法很多,这里介绍一种非常简单的加密算法——凯撒密码。 凯撒密码是古罗马凯撒大帝用来对军事情报进行加密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面第三个字符,对应关系如下:
原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
原文字符 P,其密文字符 C 满足如下条件:
C = ( P + 3 ) mod 26
解密方法反之,满足:
**P = ( C - 3 ) mod 26
假设用户可能使用的信息仅包括小写字母 a~z,则该微实例对应的加密代码如下:
plaincode = input("请输入原文:")
print("密文:")
for p in plaincode:
if ord("a") <= ord(p) <= ord("z"): # 判断是否在 a ~ z 之间
print(chr(ord("a") + (ord(p) - ord("a") + 3) % 26),end='')
else:
print(p, end=' ')
程序运行结果如下:
请输入原文:python is an excellent language
密文:
sbwkrq lv dq hafhoohqw odqjxdjh
来源:https://blog.csdn.net/weixin_62511863/article/details/124408157


猜你喜欢
- 本文实例讲述了Python实现将绝对URL替换成相对URL的方法。分享给大家供大家参考。具体分析如下:一、问题:公司一个项目需要上传图片,一
- os.remove不能用来删除文件夹,否则拒绝访问。# -*- coding:utf-8 -*-import osif __name__ =
- python中类的继承:子类继承父类,及子类拥有了父类的 属性 和 方法。python中类的初始化都是__init__()。所以父类和子类的
- 译注:原文是StackOverflow上一个如何用程序读取迷宫图片并求解的问题,几位参与者热烈地讨论并给出了自己的代码,涉及到用Python
- php操作xml最近计划写个人的小网站,一系列原因选择了用php来写,最大的问题就是虽然php很流行,但我从来没有接触过php,看了一个多星
- 前言之前已经讲述了一些关于;python;获取基金的一些信息,最近又有了一些新发现,和大家分享一下,这个是非常重要的内容,非常重要的内容。这
- 本文实例讲述了Python实现返回数组中第i小元素的方法。分享给大家供大家参考,具体如下:#! /usr/bin/env python#co
- 本文实例为大家分享了python dlib人脸识别的具体代码,供大家参考,具体内容如下import matplotlib.pyplot as
- 本文实例讲述了golang image图片处理方法。分享给大家供大家参考,具体如下:golang处理图片挺简单的,我是过功能挺简单的,没有过
- 从字节码角度看描述器在前面的内容当中我们已经详细分析了描述器的使用和其相关的应用,我们通常使用描述器都是将其作为类的一个类属性使用,而使用的
- 数据结构和算法算法:解决问题的方法和步骤评价算法的好坏:渐近时间复杂度和渐近空间复杂度。渐近时间复杂度的大O标记:- 常量时间复杂度 - 布
- 前几天遇到一个问题,需要把网页中的一部分内容挑出来,于是找到了urllib和HTMLParser两个库.urllib可以将网页爬下来,然后交
- 最近有个部署需求,需要读取py文件格式的配置项,我的实现思路是把配置文件解析到内存中。主要使用两种方法:importlib.import_m
- 一,*和.*的联系和区别。 1,在进行数值运行和数值乘矩阵,这两种没有区别,例如:a*b=a.*b; a*B=a.*B; B*a=B.*a
- 今天我们来介绍下Python基础教程学习之iter() 方法另外的用法。据说很少有人知道这个用法!一、上代码、学用法我们都比较熟悉 iter
- 主要有以下步骤:1、人脸检测2、人脸预处理3、从收集的人脸训练机器学习算法4、人脸识别5、收尾工作人脸检测算法:基于Haar的脸部检测器的基
- 本文实例为大家分享了python读取图片并修改文件大小的具体代码,供大家参考,具体内容如下# Author:NDK# -*- coding:
- 本文实例为大家分享了原生js实现tab选项卡切换效果的代码,供大家参考,具体内容如下1.html部分<body> <div
- 问题复现:连接钱包后,会调用函数,弹出窗口让用户签名if (signatureMessage) {
- __str__函数如果定义了该函数,当print当前实例化对象的时候,会返回该函数的return信息可用于定义当前类的描述信息用法:def