我正在上课的比赛项目。该程序应该让用户输入所有团队名称,选择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
?
答案 0 :(得分:3)
在我看来,使用字典而不是列表是一种更好的方法。您只需将每个团队名称添加为字典的键,并将其对应的值分别设置为False
或True
:
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
在这里,teams
和team_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})