首页 > 解决方案 > 我有一个任务,我必须描述一些 Python 代码,但它什么也没做。我应该看什么?

问题描述

我有一个任务,我必须描述这段代码的作用,但是当我输入它时,它什么也没做。有任何想法吗?这里是代码。

def unknown(word):
  for i in range(1,len(word)+1):
    if i==len(word):
      return word
    if word[i]<word[i-1]:
      word=word[:i-1]+word[i]+word[i-1]+word[i+1]
      return unknown(word)
unknown('qwerty')

标签: python-3.6

解决方案


它正在做某事。你只是没有看到它在做什么,因为你没有对未知的输出做任何事情。尝试更换

unknown('qwerty')

print(unknown('qwerty'))

看看你得到了什么。

编辑:您的问题中似乎有错字:

word=word[:i-1]+word[i]+word[i-1]+word[i+1]

很可能应该是:

word=word[:i-1]+word[i]+word[i-1]+word[i+1:]

这种变化应该使它进行递归冒泡排序。


推荐阅读