-8
我有一个代码分配,但我无法找到答案,所以我在网上检查。代码是用python编写的。代码是绝对正确的,但我无法理解它。我对python非常陌生,所以plz帮助我。我不能理解Python中的这段代码,你能帮助我吗?
这里是问题
假设s是一个小写字母的字符串。
编写一个程序,打印s中按字母顺序排列的最长字符串。例如,如果s ='azcbobobegghakl',那么你的程序应该打印
按照字母顺序排列的最长的子字符串是:beggh 在关系的情况下,打印第一个子字符串。例如,如果s = 'abcbcd',那么你的程序应该打印
按字母顺序排列最长的串是:ABC
的代码是:
# initialise tracker variables
maxLen=0
current=s[0]
longest=s[0]
# step through s indices
for i in range(len(s) - 1):
if s[i + 1] >= s[i]:
current += s[i + 1]
# if current length is bigger update
if len(current) > maxLen:
maxLen = len(current)
longest = current
else:
current=s[i + 1]
i += 1
print ('Longest substring in alphabetical order is: ' + longest)
采取一个语句的时间和读出的文件。你有什么问题?顺便说一下,你的缩进对于'for'循环是不正确的 - 这在python中是非常重要的。 – cdarke
另请参阅https://stackoverflow.com/questions/27937076/python-word-counter –
我可以逐行解决这个问题,但是最好打开IDLE,在这些行中输入一个通过一个,并检查变量,让你可以看到它在做什么。 或者你可以用打印语句胡椒粉的东西,所以你可以看到它是这样做... –