Nicole37 发表于 2023-10-12 09:26:52

零py-(ep-18)

本帖最后由 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 和 s,其中 0 <= j <= s.length - 2,要满足如下条件:
若 s 是小写字符,则 s 不可以是相同的大写字符
若 s 是大写字符,则 s 不可以是相同的小写字符
如果 s 和 s 满足以上两个条件,则将它们一并删除
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) - base 操作得到一个字母的偏移值,比如 b 就是 1
    # 跟 26 求余数的作用是防止溢出,循环计算偏移,正常<26的数%26=其本身,,而>26,则按26周期循环
    shift = chr((ord(s) - base + int(s)) % 26 + base)
    print(s+shift, end="")#"+"表示连接输出
页: [1]
查看完整版本: 零py-(ep-18)