编辑之后,你的问题就更清楚了。我已经尽可能少地修改了您的代码,以向您展示解决方案中的错误来自何处。在

代码如下:s = 'xyzbcdezzz'

longest_string = ''

current_string = ''

for n in range(len(s)):

if len(current_string) == 0 or current_string[-1] <= s[n]:

current_string += s[n]

print('current string:', len(current_string), current_string)

else:

if len(current_string) > len(longest_string):

longest_string = current_string

current_string = s[n]

print('the longest string checked is:', longest_string, ', count reset')

if len(current_string) > len(longest_string):

longest_string = current_string

print(longest_string)

有问题的部分是同时服用2个字符

^{pr2}$

将其替换为if len(current_string) == 0 or current_string[-1] <= s[n]:

current_string += s[n]

如果加法有效,您将添加到当前字符串中(最后一个字符current_string[-1]和添加的wannabe s[n]是按顺序排列的)

elif部分被简化为不检查s[n]和s[n+1],因为它没有反映出我们要做的事情:我们不关心字符是否在整个字符串中有序s我们关心当前的字符串(这个逻辑由上面的if语句捕获,只有在出现问题时才会访问它)

所以这里的变化是elif s[n] > s[n+1]:

if len(current_string) > len(longest_string) :

到else:

if len(current_string) > len(longest_string):

longest_string = current_string

current_string = s[n]

如有必要,添加一个新的赢家,并将当前字符串重置为不符合顺序的字符

当current_string结束于s的最后一个字符时,最后一组ifs正在检查大小写,虽然这是正确的,但是如果您在循环之后添加一个检查并只打印最长的字符串,则不会太分散注意力if len(current_string) > len(longest_string):

longest_string = current_string

print(longest_string)

这样,在每种情况下,输出都是第一个有效的最长字符串,而不是两个不同的最长字符串(其中一个位于字符串的尾部)

python字母表顺序向后偏移3,python3:完全字母顺序相关推荐

  1. python3.6.2下载教程_Windows下升级Python3.7.7后(原Python3.6.2版本)如何切换Python版本|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 笔者:风起怨江南 出处:https://www.cnblogs.com/mengjinxiang 笔者原创 ...

  2. Python练习:定义函数countchar(str)按字母表顺序统计字符串中所有出现的字母个数(允许输入大小写,不区分大小写)

    题目:定义函数countchar(str)按字母表顺序统计字符串中所有出现的字母个数(允许输入大小写,不区分大小写) 先上代码: str=input() def countchar(str):str= ...

  3. python selenium自动化面试_18年selenium3+python3+unittest自动化测试教程(上)

    第一章 自动化测试课程介绍和课程大纲 1.自动化测试课程介绍 简介:讲解什么是自动化测试和课程大纲讲解,课程需要的基础和学后的水平 python3.7+selenium3 pycharm 第二章自动化 ...

  4. python 代码转程序_python2代码转python3

    出品 | FlyAI 编译 | 林椿眄 编辑 | Donna Python 已经成为机器学习及其他科学领域中的主流语言.它不但与多种深度学习框架兼容,而且还包含优秀的工具包和依赖库,方便我们对数据进行 ...

  5. C语言凯撒密码字母向后偏移三位,凯撒加密解密(java字母移位)

    1.设计思想:加密就是将字符数据转化为ASC码表中的数字,a-w之间通过加3之后再转化为字符型输出,x-z之间通过转化为ASC码表中的数字后减去23再转化为字符型输出.解密就是将字符数据转化为ASC码 ...

  6. Linux下python安装升级详细步骤 | Python2 升级 Python3

    Linux下python升级步骤  Python2 ->Python3 多数情况下,系统自动的Python版本是2.x 或者yum直接安装的也是2.x 但是,现在多数情况下建议使用3.x 那么如 ...

  7. python编程试题单词倒排_Python:将句子中的单词全部倒排过来,但单词的字母顺序不变...

    早上看到好友未央的一篇博文<一道google的测试工程师笔试题>,内容如下: 这是去年面试google测试工程师的一道题,题目如下: 设计一个函数,使用任意语言,完成以下功能: 一个句子, ...

  8. linux python指向python3_linux下切换python2和python3(转)

    0x00 为什么需要有两个版本的Python Python2和Python3不兼容是每个接触过Python的开发者都知道的事,虽说Python3是未来,但是仍然有很多项目采用Python2开发.Lin ...

  9. python百分比堆积条形图_Pandas 堆积条形图中的元素顺序 - python

    我正在尝试绘制有关该地区5个地区的特定行业中家庭收入所占比例的信息. 我使用groupby按地区对数据框中的信息进行排序: df = df_orig.groupby('District')['Port ...

最新文章

  1. iRank: 基于互联网类脑架构的阿尔法鹰眼发展趋势评估
  2. halcon的算子清点: Chapter 5 滤波
  3. RabbitMQ三种Exchange模式(fanout,direct,topic)的性能比较
  4. 一次自定义Configuration的悲惨经历。
  5. P5727 【深基5.例3】冰雹猜想(python3实现)
  6. 2018 前端开发框架对比
  7. 中国数字压力计市场趋势报告、技术动态创新及市场预测
  8. 软件测试基础知识【归纳】
  9. 摘录一些介绍Linux DKMS的博客文章
  10. 【动态规划】ST算法解决区间最值询问问题(RMQ问题)
  11. AD14使用过程记录!
  12. 基于Matlab/Simulink的1/4车辆系统动力学模型的两种建模方法(动力学建模入门知识)
  13. Jquery头像编辑器
  14. 使用easyx来实现按钮功能
  15. html新建文件夹,javascript实现新建文件夹的功能
  16. 行测中数量关系的练习题集(07-29)【2】
  17. java后端要会写前端吗_后端开发有必要学习前端吗,如何入门呢
  18. 不花一分钱申请免费域名和ssl证书
  19. 2015网龙产品策划暑期实习心得
  20. 微信小程序加载效果和取消加载效果

热门文章

  1. 硬件电路之运算放大器4-微积分滤波电路
  2. pclexpress是什么主板_工业主板PCIE插槽与PCI插槽有什么区别
  3. matlab实现线性函数逼近,[转载]【MATLAB】MATLAB 线性拟合小结 ——nb
  4. Matlab中加法器是什么,加法器,加法器是什么意思
  5. 过分!老彭居然忘记了这么好的资源!!!简直不可饶恕...
  6. 数字信号处理之快速傅里叶变换 2021-10-24
  7. (六)unity自带的着色器源码剖析之——————Unity3D的全局光照和阴影:上篇(全局照明GI和局部照明)
  8. 疯狂的VR,热闹的内容,Cocos推动VR内容生态发展
  9. 视觉SLAM十四讲 报错ch13 问题汇总 /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o)
  10. 对什么都提不起劲,怎么办?