1 引言
一串简易的字符串如何重复拼接得到上千位的字符串?如何利用切片操作得到偶数位?本文将对此类问题做出研究。
2 问题描述
把abcd...s共19个字母组成的序列重复拼接106次,得到长度为2014的串。接下来删除第一个字母(即开始的字母a),以及第3个,第5个等所有奇数位置的字母。得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩一个字母,请输出该字母。
3 算法描述
首先从键盘输入abcd...s这一字符串, 重复拼接106次得到新的字符串。删除第1位,第3位,第5位等所有奇数位的字母,即可采用不断重复偶数切片的方法删除奇数,结合while循环,当字符串长度为1,即只剩下一个字母,则得到想要的结果。
4 结语
本文研究对冗长的字符串的奇数位进行删除,最终得到唯一的字母,侧重对切片、循环等基础知识的理解。不足之处在于起初并未想到通过切片操作获取偶数位,而是逐个删除,使过程变得繁琐。
附件
代码清单 1 DFS求解1到100求和问题Python代码
str = ‘abcdefghijklmnopqrs’ str1 = str * 106 While len(str1) != 1 srt1 = str1[1::2] Print(str1) |