python - 谁能找出这段代码有什么问题?
问题描述
谁能找出这段代码有什么问题?我从一本书上复制粘贴。
def findSmallestNumber(arr):
smallestNumber = arr[0]
for i in range(1,len(arr)):
if arr[i] < smallestNumber:
smallestNumber = arr[i]
return smallestNumber
def sort(arr):
newArr = []
for i in range(len(arr)):
smallestNumber = findSmallestNumber(arr)
newArr.append(arr.pop(smallestNumber))
return newArr
print (sort([12,32,4,22,6]))
我得到这个输出:
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "<string>", line 12, in sort
解决方案
尝试这个:
def sort(arr):
newArr = []
for i in range(len(arr)):
smallestNumber = findSmallestNumber(arr)
newArr.append(arr[arr.index(smallestNumber)])
arr.remove(smallestNumber)
return newArr
推荐阅读
- python - 使用 python 关闭 PDF
- azure - 使用 Azure AAD 进行身份验证
- c# - 任务执行期间未显示 WPF 材料设计进度对话框
- python - 从子类调用时出现 AttributeError
- python - 代码没有打印出任何东西,当我在 python 中运行程序时我没有得到任何结果
- jvm - 为什么所有 ConcurrentMap (key, value) 对都存储在内存中?
- lua - srlua - “找不到 liblua.dll”
- r - 重塑大数据集从长到宽
- rest - 如果我需要两个 GET,任务的 RESTFUL API 应该如何?
- java - 添加新数据时无法刷新 TableView 单元格