观赭不语 发表于 2020-6-25 10:16:09

简单的排序

新人求助,为什么一次不能全部排序啊。。
import random
time = 6
list1 =
number = random.randint(1,6)
while time > 0:
    if number in list1:
      print (number)
      list1.remove(number)
      time -= 1
      number = random.randint(1,6)
    else:
      time = time

Twilight6 发表于 2020-6-25 10:26:19

本帖最后由 Twilight6 于 2020-6-25 10:40 编辑


你直接移除列表了

list1.remove(number)

而且没看懂你想怎么排序.....

冒泡排序:
list1 =

for j in range(len(list1),0,-1):
    for i in range(j-1):
      if list1 > list1:
            list1,list1 = list1,list1

print(list1)


青出于蓝 发表于 2020-6-25 10:32:31

没听懂啥意思。
sort排序?

观赭不语 发表于 2020-6-25 14:28:51

Twilight6 发表于 2020-6-25 10:26
你直接移除列表了

list1.remove(number)


是随机排1~6的数字,但是不能有重复。
这边remove的作用是想避免数字重复的出现。

观赭不语 发表于 2020-6-25 14:30:49

青出于蓝 发表于 2020-6-25 10:32
没听懂啥意思。
sort排序?

就是想把1~6的数字随机排序,sort的话是有序的。这里想用random函数无序排列数字,保证每一次运行都能有一个随机排出来的1~6的数表。

Twilight6 发表于 2020-6-25 14:33:37

观赭不语 发表于 2020-6-25 14:28
是随机排1~6的数字,但是不能有重复。
这边remove的作用是想避免数字重复的出现。


这样即可 sample 随机取列表里的数 6 次 且不重复

import random
list1 =
list1 = random.sample(list1,6)
print(list1)

观赭不语 发表于 2020-6-25 14:36:46

Twilight6 发表于 2020-6-25 14:33
这样即可 sample 随机取列表里的数 6 次 且不重复

感谢

Twilight6 发表于 2020-6-25 14:39:01

观赭不语 发表于 2020-6-25 14:36
感谢

没事~{:10_297:}

下次问题诉述清晰些,可以更快得到解答哈~~~
页: [1]
查看完整版本: 简单的排序