我正在学习python。我目前的自学作业是写一个程序,用一个字符串检查字符串中的字母是否按字母顺序排列。如果没有,程序将返回字母顺序错误的实例数。我请求stackoverflow的帮助,因为代码在我看来很好,但是我一直得到一个错误,这个错误包含在下面。在
代码
def inversions (string):
res = 0
for i in string:
if string[i+1] < string[i]:
res += 1
print( res)
我的错误
^{pr2}$
我有点明白错误在说什么,但我不知道该怎么做。在
非常感谢
Tags:
i
正在迭代每个字母,因此不需要使用它来索引字符串。更简单的方法是使用sorted
函数。在你所说的无序数量的含义并不明确,例如字符串
扎布迪夫
把所有的字母都弄乱了。这是您的意思,还是您想要重新排序字符串所需的操作数?在
要检查字符串是否按字母顺序排列,请尝试回答以下问题:
checking if a string is in alphabetical order in python
您的问题是因为您使用字符串作为列表索引。在
以你的代码为例,我修改了上面的代码
^{pr2}$提示:
您可以使用
ord(s)
将字母转换为数字表示。因为a-z的顺序是正确的,但是你必须处理大写字母的大小写。在相关问题 更多 >
编程相关推荐