用户:
小麦做的面包查看:81 回复:2 评论:11 创建时间:2021-07-12T09:18:47
【作品展示】

【作品介绍】
不知道为什么排序结果是空集。。。
【作品源代码】
import random
def buer(a):
for i in range((len(a) - 1)):
if (i[i] > i[(i + 1)]):
return True
return False
f = 0
l = input().split(',')
for i in range(0, len(l)):
try:
l[i] = int(l[i])
except :
l[i] = float(l[i])
b = l
a = l
print(l)
while buer(b):
f += 1
b = []
for i in range(len(a)):
t = random.randint(0, (len(a) - 1))
b.append(a[t])
del a[t]
print(b)
print('循环次数', f, '排序结果', b)
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn
庄nnnn额排序思想?
点赞0
评论
还有,你每次循环都把b列表设为空,不空虚才怪
b.append(a[t]) 没看见?
del a[t]没看见? 虽然第一次有可能有内容,但后面都删掉了
删的是a的项,这个是避免重复的
可是到了后面a就空了啊
循环中加一个 a=l 最后还是空集
是l不是1
不管代码哪边错了,他的排序思想就是错的,依靠概率是没有用的,
猴子排序是存在的,而且从定义上唯一有可能排序无限数列
随机能生成所有可能吗?无限循环是有可能的吧?
再说这个随机是伪随机,时间一长就会循环