|
发表于 2018-3-22 22:38:31
|
显示全部楼层
- import random
- def make_points(number):
- list1 = []
- for i in range(number):
- x = random.randint(1,6)
- y = random.randint(1,6)
- z = random.randint(1,6)
- temp = []
- temp.append(x)
- temp.append(y)
- temp.append(z)
- temp = tuple(sorted(temp,reverse=True))
- list1.append(temp)
-
- return list1
- def strong_weak(tuple1):
- temp = set(tuple1)
- if len(temp) == 1:
- return 3
- elif len(temp) == 2:
- return 2
- else:
- return 1
- def sort_list(list1):
- result3 = []#盛放3个元素相同
- result2 = []#盛放2个元素相同
- result1 = []#盛放1个元素的
- for each in list1:
- if strong_weak(each) == 3:
- result3.append(each)
- if strong_weak(each) == 2:
- temp = []
- if each[0] == each[1]:
- temp.append(each[0])
- temp.append(each[1])
- temp.append(each[2])
- if each[0] == each[2]:
- temp.append(each[0])
- temp.append(each[2])
- temp.append(each[1])
- if each[1] == each[2]:
- temp.append(each[1])
- temp.append(each[2])
- temp.append(each[0])
- each = tuple(temp)
- result2.append(each)
- if strong_weak(each) == 1:
- result1.append(each)
-
- result3 = sorted(result3,reverse=True)
- result2 = sorted(result2,reverse=True)
- result1 = sorted(result1,reverse=True)
- result = []
- result.extend(result3)
- result.extend(result2)
- result.extend(result1)
- return result
- if __name__ == '__main__':
- number = int(input('请输入要实验多少组:'))
- list1 = make_points(number)
- print(sort_list(list1))
- 运行结果:
- 请输入要实验多少组:30
- [(5, 5, 5), (6, 6, 4), (6, 6, 4), (6, 6, 3), (6, 6, 3), (6, 6, 1), (6, 6, 1), (5, 5, 4), (5, 5, 3), (5, 5, 2), (5, 5, 1), (4, 4, 6), (4, 4, 2), (4, 4, 2), (3, 3, 6), (2, 2, 6), (2, 2, 5), (2, 2, 5), (2, 2, 3), (1, 1, 5), (6, 4, 2), (6, 4, 1), (6, 4, 1), (6, 3, 2), (5, 4, 3), (5, 4, 2), (5, 4, 2), (5, 4, 1), (5, 3, 2), (4, 2, 1)]
- ***Repl Closed***
复制代码 |
评分
-
查看全部评分
|