首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

Python-VBA编程500例-003(入门级)

  • 25-03-03 04:43
  • 3083
  • 5035
blog.csdn.net

目录

1、旋转字符串:

1-1、Python:

1-2、VBA:

2、相关文章:

个人主页:https://blog.csdn.net/ygb_1024?spm=1010.2135.3001.5421

欢迎志同道合者一起交流学习,我的QQ:94509325/微信号

        在实际应用中,旋转字符串(Rotate String)有以下几个现实意义:

1、数据加密:通过对字符串进行旋转操作,可以实现对数据的加密。旋转字符串可以改变字符串中字符的顺序,增加了破解的难度,可以保护数据的安全性。

2、字符串搜索:旋转字符串可以用于字符串的搜索和匹配。例如,在一段文本中查找特定字符串的时候,可以通过旋转字符串来增加搜索的范围和准确性。

3、回文词判断:回文词是指正读和反读都相同的词。通过旋转字符串,可以将字符串翻转,然后判断翻转后的字符串和原字符串是否相等,从而判断是否是回文词。

4、字符串排列:旋转字符串可以生成字符串的全排列。通过不同的旋转操作,可以生成不同顺序的字符串,从而获得字符串的所有排列情况。

5、字符串压缩:通过旋转字符串,可以将一段重复出现的字符串压缩成一个较短的字符串。例如,将连续重复的字符串进行旋转,可以将多个连续的重复字符压缩成一个字符。

总之,旋转字符串在实际应用中具有广泛的使用场景,可以用于数据加密、字符串搜索、回文词判断、字符串排列等多个方面。

1、旋转字符串:
1-1、Python:
  1. # 1.问题描述
  2. # 给定一个字符串(以字符串数组的形式)和一个偏移量,根据偏移量原地从左向右旋转字符串
  3. # 2.问题示例
  4. # 输入str="abcdefg",offset=3,输出“efgabcd”;输入str="abcdefg",offset=0,输出“abcdefg”;输入str="abcdefg",offset=1,输出“gabcdef”
  5. # 3.代码实现:
  6. class Solution:
  7. # 参数s: 字符列表
  8. # 参数offset: 整数
  9. # 返回值: 无
  10. def rotateString(self, s, offset):
  11. if len(s) > 0:
  12. offset=offset % len(s)
  13. temp = (s + s)[len(s) - offset:2 * len(s) - offset]
  14. for i in range(len(temp)):
  15. s[i] = temp[i]
  16. # 主函数
  17. if __name__ == '__main__':
  18. s = ["a", "b", "c", "d", "e", "f", "g"]
  19. offset = -1
  20. solution =Solution()
  21. solution.rotateString(s, offset)
  22. print("输入:s=", ["a", "b", "c", "d", "e", "f", "g"], " ", "offset = ", offset)
  23. print("输出:s=", s)
  24. # 4.运行结果:
  25. # 输入:s= ['a', 'b', 'c', 'd', 'e', 'f', 'g'] offset = -1
  26. # 输出:s= ['b', 'c', 'd', 'e', 'f', 'g', 'a']
1-2、VBA:
  1. Rem 自定义函数
  2. Function rotateString(str() As String, offset As Integer) As String()
  3. Dim lenth As Integer
  4. lenth = UBound(str) - LBound(str) + 1
  5. If lenth = 0 Or offset = 0 Then
  6. rotateString = str
  7. Exit Function
  8. End If
  9. offset = offset Mod lenth
  10. Dim startIdx As Integer
  11. startIdx = (lenth - offset) Mod lenth
  12. Dim rotatedStr() As String
  13. ReDim rotatedStr(LBound(str) To UBound(str))
  14. Dim i As Integer
  15. For i = LBound(str) To UBound(str)
  16. rotatedStr(i) = str(startIdx)
  17. startIdx = (startIdx + 1) Mod lenth
  18. Next i
  19. rotateString = rotatedStr
  20. End Function
  21. Rem 测试函数
  22. Sub TestRotateString()
  23. Dim str() As String
  24. str = Split("a,b,c,d,e,f,g,h", ",")
  25. Dim offset As Integer
  26. offset = -4
  27. Dim rotatedStr() As String
  28. rotatedStr = rotateString(str, offset)
  29. Debug.Print "输入字符串:", Join(str, ", ")
  30. Debug.Print "偏移量:", offset
  31. Debug.Print "旋转后的字符串:", Join(rotatedStr, ", ")
  32. End Sub
  33. Rem 执行测试函数
  34. Sub RunTest()
  35. Call TestRotateString
  36. End Sub

注意:1-2中的代码需粘贴到你的VBA编辑器中,在TestRotateString过程中,调用rotateString自定义函数。

2、相关文章:

2-1、Python-VBA编程500例-001(入门级)

2-2、Python-VBA编程500例-002(入门级)

2-3、 Python-VBA编程500例-004(入门级)

2-4、Python-VBA编程500例-005-01(入门级) 

Python算法之旅:http://iyenn.com/rec/1699032.html?spm=1001.2014.3001.5502 

个人主页:https://blog.csdn.net/ygb_1024?spm=1010.2135.3001.5421
欢迎志同道合者一起交流学习,我的QQ:94509325/微信号:

文章知识点与官方知识档案匹配,可进一步学习相关知识
算法技能树首页概览60120 人正在系统学习中
遨游码海,我心飞扬
微信名片
注:本文转载自blog.csdn.net的神奇夜光杯的文章"https://myelsa1024.blog.csdn.net/article/details/136689772"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top