python - Python列表选择
问题描述
在任何编码方面,我都是一个绝对的业余爱好者,但我一直在尝试使用 Python 创建一个顶级的王牌类型的程序。在下面的代码中,我创建了使用类添加到列表中的玩家卡。我现在正在尝试将列表(fullCardList)随机拆分为两个单独的列表,但有很多问题。列表拆分后,我的目标是比较每个玩家的统计数据,但似乎无法弄清楚如何显示卡片的名称/上限/目标。我希望这是有道理的。谁能给我任何建议?
class Player:
def __init__(self, name, caps, goals, trophies):
self.name = name
self.caps = caps
self.goals = goals
self.trophies = trophies
CardListOne = Player("Lionel Messi",102, 46, 26)
CardListTwo = Player("Ronaldo", 124, 55, 17)
CardListThree = Player("Mats Hummels", 39, 4, 8)
CardListFour = Player("Angel Di Maria", 65, 15, 10)
CardListFive = Player("Jason", 101,44,12)
CardsListSix = Player("Peter", 45,10,1)
fullCardList = [CardListOne.name, CardListOne.caps,CardListOne.goals,CardListOne.trophies],[CardListTwo.name,CardListTwo.caps,CardListTwo.goals,CardListTwo.trophies],[CardListThree.name, CardListThree.caps, CardListThree.goals, CardListThree.trophies], [CardListFour.name,CardListFour.caps,CardListFour.goals,CardListFour.trophies], [CardListFive.name,CardListFive.caps,CardListFive.goals,CardListFive.trophies]
global playersRandomSelection, computersRandomSelection
playersRandomSelection = []
playersRandomSelection = random.sample(fullCardList,3)
computersRandomSelection = []
computersRandomSelection = random.sample(fullCardList,3)
print("Players name selection: " + str(playersRandomSelection))
print("Computers random selection: " + str(computersRandomSelection))
解决方案
如何显示卡片名称/上限/目标/ (奖杯):
您可以使用以下方法vars()
:
lst = [CardListOne,CardListTwo,CardListThree,CardListFour,CardListFive,CardsListSix]
for n in lst:
a = vars(n)
print('\n'.join(f"{k}: {v}" for k,v in a.items()))
print()
输出:
name: Lionel Messi
caps: 102
goals: 46
trophies: 26
name: Ronaldo
caps: 124
goals: 55
trophies: 17
name: Mats Hummels
caps: 39
goals: 4
trophies: 8
name: Angel Di Maria
caps: 65
goals: 15
trophies: 10
name: Jason
caps: 101
goals: 44
trophies: 12
name: Peter
caps: 45
goals: 10
trophies: 1
推荐阅读
- python - 如何在python中更新字典中的列表值
- jira - 关于问题更新事件的 JIRA 问题链接
- mysql - Orbeon Forms 2018.1.1 CE 和 MySQL:在任何已创建表单的摘要页面上收到“执行搜索错误”
- azure - 将 arm 模板部署到 azure 时出现内部服务器错误
- azure - 在 Azure 中保护 api 到 api 连接
- python-3.x - 多线程爬虫运行一段时间后越来越慢
- python - 有什么方法可以更快地运行此代码?
- flurry - Flurry Analytics 用户路径通过事件参数
- spring-mvc - log4j 没有在我的控制器中显示映射的 url
- java - Jersey Web 服务 ExceptionMapper Oracle EPM HFMException