在python中使用布尔列表

时间:2013-04-02 17:19:59

标签: python list boolean

我正在上课的比赛项目。该程序应该让用户输入所有团队名称,选择2个团队,并询问用户哪个团队获胜,并且获胜者将继续前进。我想通过使用布尔值在一个数组中完成所有这些操作。我希望数组中的所有值都以false开头,如果他们获胜,那么团队名称将转为true

到目前为止,我有这个

amount = int(raw_input('How many teams are playing in this tournament?   ')
teams = []
i = 0
while i < amount:
    teams.append(raw_input("please enter team name:   ")
    i = i + 1

现在,我如何制作整个列表false

2 个答案:

答案 0 :(得分:3)

在我看来,使用字典而不是列表是一种更好的方法。您只需将每个团队名称添加为字典的键,并将其对应的值分别设置为FalseTrue

amount = int(raw_input('How many teams are playing in this tournament?   ')
teams = {}
i = 0
while i < amount:
    team_name = raw_input("please enter team name: ")
    teams[team_name] = False
    i = i + 1

如果您想选择赢得比赛的团队,您只需在字典中进行团队名称查找,并将其值设置为True。这样,您可以将团队名称和布尔值保留在一个数据结构中,而不是需要两个数据结构,或者总是用布尔值替换团队名称,这根本没有意义。

答案 1 :(得分:2)

由于你已经知道了球队的数量(金额),你可以做到

team_status = [False]*amount

在这里,teamsteam_status的索引是相同的,因此每当您想要特定团队的状态时,它就是一个简单的查找。

OR

你可以使用字典

amount = int(raw_input('How many teams are playing in this tournament?   ')
teams = {}
for i < range(amount):
    team_name = raw_input("please enter team name:   ")
    teams.update({team_name: False})