这段代码是关于选择排序的,但是当我运行代码时它没有按预期工作
Posted
技术标签:
【中文标题】这段代码是关于选择排序的,但是当我运行代码时它没有按预期工作【英文标题】:This code is about Selection sorting but when i run the code it is not working as expected 【发布时间】:2022-01-19 11:27:42 【问题描述】:该程序仅在否时有效。 of elements 为 2 如果超过 2 则不起作用。
#Selection Sort
L = []
n = int(input('Enter the number of elements\t:'))
for i in range(n):
item = int(input('Enter item\t:'))
L.append(item)
print('List\t:')
for i in range(n-1):
for j in range ((i+1),n-1):
if (L[j]<L[i]):
(L[j],L[i]) = (L[i],L[j])
print(L)
output1 output2
【问题讨论】:
您多次使用i
。第一次在for i in range(n):
和第二次for i in range(n-1):
哦,我应该怎么做顺便说一句,我是一个新程序员,这段代码写在我的书中。
我认为它实际上只是 for i in range(n-1) 的缩进...它应该没有缩进,以便在您输入所有项目后运行。您的错误原因是您在将 L 项输入控制台之前尝试访问它们。
【参考方案1】:
L = []
n = int(input('Enter the number of elements\t:'))
for i in range(n):
item = int(input('Enter item\t:'))
L.append(item)
print('List\t:')
#First loop from 0 to n-1
for i in range(n-1):
#second loop from 1 to n
for j in range ((i+1),n):
if (L[j]<L[i]):
(L[j],L[i]) = (L[i],L[j])
print(L)
输入
Enter item :5
List :
Enter item :2
List :
Enter item :3
List :
Enter item :1
输出
[1, 2, 3, 5]
【讨论】:
谢谢你先生.. 一个循环是多余的,更新代码【参考方案2】:试试这个
enter code here
#Declare variable for selection sort
L = []
n = int(input('Enter the number of elements\t:'))
#iterate for add values
for i in range(n):
item = int(input('Enter item\t:'))
L.append(item)
print('List\t:')
#iterate for select minimun value and swap value in the array
for i in range(len(L)):
# Find the minimum element in remaining
# unsorted array
min_idx = i
for j in range(i+1, len(L)):
if L[min_idx] > L[j]:
min_idx = j
# Swap the found minimum element with
# the first element
L[i], L[min_idx] = L[min_idx], L[i]
print(L)
【讨论】:
谢谢.....【参考方案3】:代码:
#Selection Sort
L = []
n = int(input('Enter the number of elements\t:'))
for i in range(n):
item = int(input('Enter item\t:'))
L.append(item)
print('List\t:')
for i in range(n-1):
for j in range ((i+1),n):
if (L[j]<L[i]):
(L[j],L[i]) = (L[i],L[j])
print(L)
输出:
Here
【讨论】:
您好,本部分仅供解答。请直接在您的帖子中添加其他信息并删除此答案。以上是关于这段代码是关于选择排序的,但是当我运行代码时它没有按预期工作的主要内容,如果未能解决你的问题,请参考以下文章