鱼C论坛

 找回密码
 立即注册
查看: 3790|回复: 1

[学习笔记] 速查Python课后第027讲:字符串(I) 按要求整理字符串

[复制链接]
发表于 2021-10-30 20:47:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 小蜂队 于 2021-11-24 17:55 编辑

0.

  1. #按照以下规则整理一个给定的字符串 s.
  2. s = input("请输入一个字符串:")
  3.    
  4. res = []
  5. for each in s:
  6.     if res and res[-1].lower() == each.lower() and res[-1] != each:
  7.         res.pop()
  8.     else:
  9.         res.append(each)
  10.    
  11. for each in res:
  12.     print(each, end='')
复制代码

执行结果: 字符串整理.png
1.编写代码结果比如 s = "a1b2c3" 转换后的结果是 "abbdcf"(a1 -> ab,b2 -> bd,c3 -> cf);s = "x7y8z9" 转换后的结果是 "xeygzi"

  1. #给定的字符串 s 是按照以下规则存放的:它的偶数下标为小写的英文字母,奇数下标为正数
  2. #编写代码,将奇数下标的数字转换为相对于上一个字母偏后的字母。
  3. s = input("请按规则输入一个字符串:")
  4.    
  5. length = len(s)#获取 s 的长度
  6. res = []
  7. # 获取字母 a 的编码值
  8. base = ord('a')
  9.    
  10. # 从第一个元素开始,每次迭代跳过一个元素
  11. for i in range(0, length, 2):
  12.     # ord(s[i]) - base 操作得到一个字母的偏移值,比如 b 就是 1
  13.     # 跟 26 求余数的作用是防止溢出,循环计算偏移
  14.     shift = chr((ord(s[i]) - base + int(s[i+1])) % 26 + base)
  15.     print(s[i]+shift, end="")
复制代码

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-5 21:05:17 | 显示全部楼层
本帖最后由 念瞳啊 于 2022-4-5 21:10 编辑

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 21:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表