edX MITx: 6.00.1x Introduction to Computer Science and Programming Using Python 课程 Week 1: Python Basics Problem Set 1 Problem 3
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, if s = '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
# Paste your code into this box
count = 1
result = s[0]
while s:
newcount = 1
newresult = ''
i = 0
while i+1<len(s):
if ord(s[i]) <= ord(s[i+1]):
newcount+=1
newresult+=s[i+1]
else:
break
i+=1
if newcount>count:
count = newcount
result = s[0]+newresult
s = s[i+1:]
print(result)
注:因为只是课程前期,故未使用sort()函数或一些其他高级函数。
有几点需要注意的地方:
1)不可去掉 newcount, newresult 变量,因为要找s中的最长子串,故如果后面能找到要替换掉前面稍短的子串
2)ord(s[i]) <= ord(s[i+1]): %注意是小于等于号
3)s = s[i+1:] %注意i+1:后面不加空格
最新文章
- ma60笔记
- bzoj2219: 数论之神
- 详解;(function ($,window,document,undefined){...})(jQuery,window,document);
- ABAP DEMO
- Window下开发React-Native Android步骤
- margin设置为负数
- Java内存模型四
- python中math模块常用的方法整理
- Gradle 1.12用户指南翻译——第二十七章. Ear 插件
- 安装Java语言的jdk,配置java环境变量
- url参数 加密
- PAT 1067 试密码(20)(代码)
- 【C#】datetimepicker里面如何设置日期为当天日期,而时间设为0:00或23:59?
- Python学习笔记011——内置函数eval()
- Django Pagination
- Stalstack 连接管理配置
- POJ1020(小正方形铺大正方形)
- 开发常用宏 - iOS
- display:table-cell的min-height
- xml 操作