|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Nicole37 于 2023-10-13 10:18 编辑
字符串:不可变的序列
e.g- #回文数的判定:
- x= "14541"
- "是" if x==x[::-1] else "不是"
- '是'
- x= "15897"
- "是" if x==x[::-1] else "不是"
- '不是'
复制代码
1、字符串的使用方法:
1.1 大小写字母换来换去:
capitalize() casefold() title() swapcase() upper() lower()
- #返回首字母大写的字符串
- a="I love Fishc but It is hard to learn"
- a.capitalize()
- 'I love fishc but it is hard to learn'
- a
- 'I love Fishc but It is hard to learn'
- #返回首字母是小写的字符串
- a.casefold()
- 'i love fishc but it is hard to learn'
- #将每个单词的首字母变大写,其他小写
- a.title()
- 'I Love Fishc But It Is Hard To Learn'
- #将原来字符串的大小写字母进行反转
- a.swapcase()
- 'i LOVE fISHC BUT iT IS HARD TO LEARN'
- #将所有字母变大写
- a.upper()
- 'I LOVE FISHC BUT IT IS HARD TO LEARN'
- #将所有字母变小写
- a.lower()
- 'i love fishc but it is hard to learn'
- #casefole()适用于除英文之外的其他语言
复制代码
1.2 左中右对齐:
width:用来指定字符串的参数,如果宽度小于原字符串,直接输出原字符;fillchar:用来规定填充的字符,不填写的话默认用空格填充
- a = "中午吃什么???"
- #center:中间对齐
- a.center(5)
- '中午吃什么???'
- a.center(20)
- ' 中午吃什么??? '
- #左对齐
- a.ljust(20)
- '中午吃什么??? '
- #右对齐
- a.rjust(20)
- ' 中午吃什么???'
- #填充零对齐
- a.zfill(20)
- '000000000000中午吃什么???'
- #fillchar
- a.center(20,"*")
- '******中午吃什么???******'
- a.ljust(20,"&")
- '中午吃什么???&&&&&&&&&&&&'
- a.rjust(20,"%")
- '%%%%%%%%%%%%中午吃什么???'
复制代码
作业:
0. 请按照以下规则整理一个给定的字符串 s。s.yhkq
m>2G=`rz9ZPK#JX}*S-']
一个整理好的字符串中,两个相邻字符 s[j] 和 s[j+1],其中 0 <= j <= s.length - 2,要满足如下条件:
若 s[j] 是小写字符,则 s[j+1] 不可以是相同的大写字符
若 s[j] 是大写字符,则 s[j+1] 不可以是相同的小写字符
如果 s[j] 和 s[j+1] 满足以上两个条件,则将它们一并删除
- s = input("请输入一个字符串:")
-
- res = [] #通常要对原始字符串做变动,都要新建一个空字符串,来存储变化后的新字符串
- for each in s: #注意:字符串本身就可被遍历,无需采用下标的形式
- if res and res[-1].lower() == each.lower() and res[-1] != each:#如果:字符串不为空,且(从后面取)的字母小写和s里的当前字母小写形式一致,且二者不是同一字母:保证是一小一大、一大一小、两大写
- res.pop() #在res中弹出最后一个字母,且返回该值
- else:
- res.append(each) #否则不符合上述三种情况,可以储存
-
- for each in res:
- print(each, end='')
复制代码
1. 给定的字符串 s 是按照如下规则存放的:它的偶数下标为小写英文字母,奇数下标为正整数。
题目要求:编写代码,将奇数下标的数字转换为相对于上一个字母偏移后的字母
- s = input("请按规则输入一个字符串:")
-
- length = len(s)
- res = [] #建立空的列表存放新的
- # 获取字母 a 的编码值
- base = ord('a')
-
- # 从第一个元素开始,每次迭代跳过一个元素
- for i in range(0, length, 2):
- # ord(s[i]) - base 操作得到一个字母的偏移值,比如 b 就是 1
- # 跟 26 求余数的作用是防止溢出,循环计算偏移,正常<26的数%26=其本身,,而>26,则按26周期循环
- shift = chr((ord(s[i]) - base + int(s[i+1])) % 26 + base)
- print(s[i]+shift, end="")#"+"表示连接输出
复制代码 |
|