鱼C论坛

 找回密码
 立即注册
查看: 12883|回复: 57

[技术交流] Python:每日一题 169

[复制链接]
发表于 2018-3-22 22:54:18 | 显示全部楼层
  1. import random


  2. def sort_dices(die):
  3.     die_score = []
  4.     for each in die:
  5.         if each[0] == each[1] == each[2]:
  6.             die_score.append(100 * each[0])
  7.         elif each[0] == each[1]:
  8.             die_score.append(each[0] * 15 + each[2])
  9.         elif each[0] == each[2]:
  10.             die_score.append(each[0] * 15 + each[1])
  11.         elif each[1] == each[2]:
  12.             die_score.append(each[1] * 15 + each[0])
  13.         else:
  14.             die_score.append(each[0] + each[1] + each[2])
  15.     sortdie_score = sorted(die_score, reverse=True)
  16.     final_list = []
  17.     for k in range(len(die)):
  18.         final_list.append(die[die_score.index(sortdie_score[k])])
  19.     return final_list


  20. dices = []
  21. for i in range(20):
  22.     dic1 = []
  23.     for j in range(3):
  24.         dic1.append(random.randint(1, 6))
  25.     dices.append(tuple(dic1))

  26. print dices
  27. print sort_dices(dices)
复制代码


=======
每个骰子元组计算排序的权重分数
三个一样的数字,重复数字权重100
两个一样的数字,重复数字权重 15
都不一样,直接算和

最后按权重排序

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-5 04:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表