当前位置: 首页 > 面试题库 >

Python字计数器

窦彦君
2023-03-14
问题内容

我在学校上Python 2.7课程,他们告诉我们创建以下程序:

假设s是一串小写字符。

编写一个程序,打印s的最长子串,其中字母按字母顺序出现。

例如,如果s = azcbobobegghakl,则您的程序应打印

按字母顺序排列的最长子字符串为:beggh

如果是平局,则打印第一个子字符串。

例如,如果s =’abcbcd’,则您的程序应打印

按字母顺序排列的最长子字符串为:abc

我写了以下代码:

s = 'czqriqfsqteavw'

string = ''

tempIndex = 0
prev = ''
curr = ''

index = 0
while index < len(s):
    curr = s[index]
    if index != 0:
        if curr < prev:
            if len(s[tempIndex:index]) > len(string):
               string = s[tempIndex:index]
            tempIndex=index
        elif index == len(s)-1:
            if len(s[tempIndex:index]) > len(string):
               string = s[tempIndex:index+1]
    prev = curr
    index += 1

print 'Longest substring in alphabetical order is: ' + string

老师还给了我们一系列html" target="_blank">测试字符串来尝试:

onyixlsttpmylw  
pdxukpsimdj  
yamcrzwwgquqqrpdxmgltap  
dkaimdoviquyazmojtex  
abcdefghijklmnopqrstuvwxyz  
evyeorezmslyn  
msbprjtwwnb  
laymsbkrprvyuaieitpwpurp  
munifxzwieqbhaymkeol   
lzasroxnpjqhmpr    
evjeewybqpc   
vzpdfwbbwxpxsdpfak    
zyxwvutsrqponmlkjihgfedcba  
vzpdfwbbwxpxsdpfak     
jlgpiprth  
czqriqfsqteavw

除了最后一个,所有这些都工作正常,产生以下答案:

按字母顺序排列的最长子字符串为:cz

但是应该说:

按字母顺序排列的最长子字符串为:avw

我已经检查了1000遍代码,没有发现任何错误。请你帮助我好吗?


问题答案:

这些行:

        if len(s[tempIndex:index]) > len(string):
           string = s[tempIndex:index+1]

彼此不同意。如果新的最佳字符串是s[tempIndex:index+1]该字符串,那么您应该在if条件中比较其长度。更改它们以彼此同意可以解决此问题:

        if len(s[tempIndex:index+1]) > len(string):
           string = s[tempIndex:index+1]


 类似资料:
  • 本文向大家介绍python字符串,数值计算,包括了python字符串,数值计算的使用技巧和注意事项,需要的朋友参考一下 Python是一种面向对象的语言,但它不像C++一样把标准类都封装到库中,而是进行了进一步的封装,语言本身就集成一些类和函数,比如print,list,dict etc. 给编程带来很大的便捷 Python 使用#进行单行注释,使用 ''' 或 """ 进行多行注释 数值计算 字

  • 我对手动输入的字符串计数有点困惑。我基本上是在计算单词的数量和没有空格的字符的数量。如果可能的话,谁能帮助计算元音? 到目前为止,我只有这些:

  • 问题内容: 计算给定字符串的出现次数(包括Python中的重叠)的最佳方法是什么?这是一种方法: 该方法返回5。 Python中有更好的方法吗? 问题答案: 好吧,这可能会更快,因为它可以在C中进行比较:

  • 本文向大家介绍python计算书页码的统计数字问题实例,包括了python计算书页码的统计数字问题实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python计算书页码的统计数字问题,是Python程序设计中一个比较典型的应用实例。分享给大家供大家参考。具体如下: 问题描述:对给定页码n,计算出全部页码中分别用到多少次数字0,1,2,3,4...,9 实例代码如下: 上面这段代码略显臃

  • 问题内容: 计算字符串中字符出现次数的最简单方法是什么? 例如,计算出现在其中的次数 问题答案: 返回sub范围中的子字符串不重叠的次数。可选参数并以片表示法解释。

  • 问题内容: 我在字典中有一个单词列表,其值=关键字的重复,但是我只想要一个不同单词的列表,因此我想计算关键字的数量。有没有一种方法可以计算关键字的数量,或者还有另一种方法我应该寻找不同的单词? 问题答案: 要不就 如果您想计算文件中的唯一词,则可以使用并执行以下操作