【发布时间】:2014-11-11 05:11:07
【问题描述】:
我正在学习 python。我目前的自学任务是编写一个程序,该程序接受一个字符串并检查天气是否字符串中的字母按字母顺序排列。如果不是,程序将返回字母乱序的实例数。我请求 stackoverflow 的帮助,因为我的代码看起来不错,但我不断收到错误,其中包含在下面。
代码
def inversions (string):
res = 0
for i in string:
if string[i+1] < string[i]:
res += 1
print( res)
我的错误
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
inversions ('ghutinhjdbessadfg')
File "C:\Users\Christopher\Downloads\pratice.py", line 63, in inversions
if string[i+1] < string[i]:
TypeError: Can't convert 'int' object to str implicitly
我有点明白错误在说什么,但我不确定该怎么做。
非常感谢
【问题讨论】:
-
for 循环中的
i变量表示字符串...不是数字,因此除非string是字典,否则将其用作索引没有意义 -
看起来不像那个问题的重复。他还想知道有多少个连续的字母乱序。
-
@alexthornton, padraiccunningham。你们甚至读过这个问题吗?显然,任何有半个大脑的人都可以清楚地看到这不是复制品。我检查了其他问题,他们不满意。除非您真正阅读了其中给出的问题,否则不要标记我的问题。见鬼
标签: python