本文实例讲述了Python实现简单查找最长子串功能。分享给大家供大家参考,具体如下:
题目选自edX公开课 MITx: 6.00.1x Introduction to Computer Science and Programming 课程 Week2 的Problem Set 1的第三题。下面是原题内容。
Assumesis a string of lower case characters.
Write a program that prints the longest substring ofsin which the letters occur in alphabetical order. For example, ifs = 'azcbobobegghakl', then your program should print
Longest substring in alphabetical order is: beggh
In the case of ties, print the first substring. For example, ifs = 'abcbcd', then your program should printLongest substring in alphabetical order is: abc
For problems such as these, do not includeraw_inputstatements or define the variablesin any way. Our automated testing will provide a value ofsfor you - so the code you submit in the following box should assumesis already defined. If you are confused by this instruction, please review L4 Problems 10 and 11 before you begin this problem set.
代码如下:
# -*- coding:utf-8 -*- #! python2 #判断一个字符串内的字母是否是按字母表顺序 # 如IsStrIncre('abbcdg') 返回 True # IsStrIncre('abbadg') 返回 False # 如果只有一个字符,也返回False def IsStrIncre(s): for cnt in range(len(s) - 1): if len(s) == 1: return False elif s[cnt] > s[cnt+1]: return False return True s = 'abajsiesnwdw'# example code substr = '' for length in range(1, len(s)+1): firstflag = True # a flag to remember the first string that satisfied the requirements # and ignore the strings satisfied the requirements but appeared after for cnt in range(len(s)-length+1): if IsStrIncre(s[cnt: cnt+length]): if firstflag: substr = s[cnt: cnt+length] firstflag = False print 'Longest substring in alphabetical order is: ' + substr
运行结果:
Longest substring in alphabetical order is: ajs
希望本文所述对大家Python程序设计有所帮助。
到此这篇关于Python实现简单查找最长子串功能示例就介绍到这了。人生,不要给自己留下什么遗憾,用最真的微笑去面对世界的一切。更多相关Python实现简单查找最长子串功能示例内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!