Python实现简单查找最长子串功能示例

 更新时间:2019年02月26日 11:01:26   作者:dazuo_01  
这篇文章主要介绍了Python实现简单查找最长子串功能,涉及字符串遍历、统计等相关操作技巧,需要的朋友可以参考下

本文实例讲述了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 print

Longest 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
# 如果只有一个字符,也返回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列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • 简单谈谈Python中的json与pickle

    简单谈谈Python中的json与pickle

    下面小编就为大家带来一篇简单谈谈Python中的json与pickle。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 详细介绍Scrapy shell的使用教程

    详细介绍Scrapy shell的使用教程

    Scrapy shell是一个非常有用的工具,可以帮助开发者快速地测试和调试Scrapy的爬虫代码,这篇文章主要介绍了详细介绍Scrapy shell的使用,需要的朋友可以参考下
    2023-05-05
  • python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单

    python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单

    前几天接到的一个需求,因为学校给的名单是青年大学习已学习的名单,然而要知道未学习的名单只能从所有团员中再排查一次,过程相当麻烦。刚好我也学过一些操作办公软件的基础,再加上最近在学pyqt5,所以我决定用python写个自动操作文件的脚本给她用用。
    2021-05-05
  • 浅谈Python的字典键名可以是哪些类型

    浅谈Python的字典键名可以是哪些类型

    本文主要介绍了Python的字典键名可以是哪些类型,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Python列出一个文件夹及其子目录的所有文件

    Python列出一个文件夹及其子目录的所有文件

    这篇文章主要介绍了Python列出一个文件夹及其子目录的所有文件的方法,和python列出文件夹下的所有文件的四种方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • Python自定义命令行参数选项和解析器

    Python自定义命令行参数选项和解析器

    这篇文章主要介绍了Python自定义命令行参数选项和解析器,本文主要使用的方法为argparse.ArgumentParser(),此模块可以让人轻松编写用户友好的命令行接口,程序定义它需要的参数,需要的朋友可以参考下
    2023-07-07
  • Python爬虫之Selenium实现窗口截图

    Python爬虫之Selenium实现窗口截图

    这篇文章主要介绍了Python爬虫之Selenium实现窗口截图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • python3中rank函数的用法

    python3中rank函数的用法

    今天小编就为大家分享一篇python3中rank函数的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 利用Python Django实现简单博客系统

    利用Python Django实现简单博客系统

    这篇文章主要介绍了利用Python Django实现简单博客系统,文中有非常详细的代码示例,对正在学习python的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • Python爬取csnd文章并转为PDF文件

    Python爬取csnd文章并转为PDF文件

    这篇文章主要介绍了Python爬取csnd文章并转为PDF文件,通过开发者工具进行抓包分析 分析数据从哪里来的,然后发送请求 对于文章列表页面发送请求,获取数据 获取网页源代码,解析数据文章的url及文章标题,发送请求 对于文章详情页url地址发送请求,需要的朋友可以参考一下
    2022-01-01

最新评论