本文實例講述了Python實現簡單查找最長子串功能。分享給大家供大家參考,具體如下:
題目選自edX公開課 MITx: 6.00.1x Introduction to Computer Science and Programming 課程 Week2 的Problem Set 1的第三題。下面是原題內容。
Assume s is a string of lower case characters.
Write a program that prints the longest substring of s in 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, if s = 'abcbcd', then your program should printLongest substring in alphabetical order is: abc
For problems such as these, do not include raw_input statements or define the variable s in any way. Our automated testing will provide a value of s for you - so the code you submit in the following box should assume s is 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# 如果只有一個字符,也返回Falsedef IsStrIncre(s):  for cnt in range(len(s) - 1):    if len(s) == 1:      return False    elif s[cnt] > s[cnt+1]:      return False  return Trues = 'abajsiesnwdw'# example codesubstr = ''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 = Falseprint 'Longest substring in alphabetical order is: ' + substr運行結果:
Longest substring in alphabetical order is: ajs
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數據結構與算法教程》、《Python列表(list)操作技巧總結》、《Python編碼操作技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答