检查字符串是否按字母顺序排列

2024-04-26 00:25:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习python。我目前的自学作业是写一个程序,用一个字符串检查字符串中的字母是否按字母顺序排列。如果没有,程序将返回字母顺序错误的实例数。我请求stackoverflow的帮助,因为代码在我看来很好,但是我一直得到一个错误,这个错误包含在下面。在

代码

def inversions  (string):
    res = 0
    for i  in  string:
        if string[i+1] < string[i]:
            res += 1
            print( res)

我的错误

^{pr2}$

我有点明白错误在说什么,但我不知道该怎么做。在

非常感谢


Tags: 实例字符串代码程序forstring顺序def
3条回答

i正在迭代每个字母,因此不需要使用它来索引字符串。更简单的方法是使用sorted函数。在

def alphabetical(s):
    return list(s) == sorted(s)

>>> alphabetical('abcxyz')
True
>>> alphabetical('zyxcba')
False

你所说的无序数量的含义并不明确,例如字符串

扎布迪夫

把所有的字母都弄乱了。这是您的意思,还是您想要重新排序字符串所需的操作数?在

要检查字符串是否按字母顺序排列,请尝试回答以下问题:

checking if a string is in alphabetical order in python

def isInAlphabeticalOrder(word):
 for i in range(len(word) - 1):
    if word[i] > word[i + 1]:

        return False
return True

您的问题是因为您使用字符串作为列表索引。在

以你的代码为例,我修改了上面的代码

^{pr2}$

提示:

您可以使用ord(s)将字母转换为数字表示。因为a-z的顺序是正确的,但是你必须处理大写字母的大小写。在

相关问题 更多 >