python-3.6 - 我有一个任务,我必须描述一些 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')
解决方案
它正在做某事。你只是没有看到它在做什么,因为你没有对未知的输出做任何事情。尝试更换
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:]
这种变化应该使它进行递归冒泡排序。
推荐阅读
- java - 在vscode中运行flutter应用程序时出现gradle错误
- ios - zsh:权限被拒绝:/Users/macbookpro/.zshrc
- html - 尝试在 AJAX 调用后将一个 html 页面注入另一个页面但返回空白
- c# - 无法运行“已发布”ClickOnce-Application:有缺陷的清单
- javascript - 如何为具有相同名称的 div 显示相同的功能?
- html - 无法滚动到每个标题的顶部
- c - Python C 扩展
- reactjs - 更新对象的多个按钮
- python - next(iterable) 有效,但“for”循环只会创建一个无限循环
- javascript - 无法将用户反序列化出会话