【发布时间】:2016-05-07 16:49:58
【问题描述】:
所以我有一个电子游戏锦标赛的玩家名单。
这些都包含在 player_usernames 中。
我已将排名归因于这些玩家,而这些玩家自己提供了一个 powerlevel、processed_ranks(如之前解析的)和 player_powerlevels。您可以使用
调用这些项目之一i=0
print (player_usernames[i]+processed_ranks[i]+player_powerlevels[i])
同样,我有一个 rank_database,其中包含为每个等级提供和计算的功率等级。
目标,找到每个玩家的 true_power_level,以便类似地调用...
true_powerlevel[i]
这将是玩家力量等级的平均值和该玩家等级的计算力量等级。
目前的方法是定义两个指针...
player_identifier = 0
database_identifier = 0
这在两个 for 循环中非常有用,用于将每个玩家的用户名/等级/功率等级与该等级的计算功率等级进行映射。但是,当尝试从 powerlevel 声明一个整数时,这将返回“List Index Out Of Range”。我无法解释这一点。
下面的示例代码演示了我的问题的性质(按回车键出错)...
####INPUT DATA#####
player_usernames = ["yardhin", "eclypse", "mma"]
processed_ranks = ["Rank 3", "Rank 1", "Rank 2"]
player_powerlevels = [10, 8, 9]
rank_database = ["Rank 1", "Rank 2", "Rank 3"]
powerlevel_database = [10, 9, 8]
###SET POINTERS###
player_identifier = 0
database_identifier = 0
for processed_rank in processed_ranks:
print(player_identifier)
print("This is player "+player_usernames[player_identifier])
for rank in rank_database:
database_identifier += 1
if processed_rank == rank:
print (processed_rank)
print (rank)
break
else:
print ("No Match")
player_identifier += 1
input()
player_identifier = 0
database_identifier = 0
for processed_rank in processed_ranks:
print(player_identifier)
print("This is player "+player_usernames[player_identifier])
for rank in rank_database:
database_identifier += 1
if processed_rank == rank:
print(processed_rank)
print(rank)
input_powerlevel1 = int(player_powerlevels[player_identifier])
input_powerlevel2 = int(powerlevel_database[database_identifier])
true_powerlevel = (input_rank_powerlevel+true_rank_powerlevel/2)
print (true_powerlevel)
break
else:
print("No Match")
player_identifier += 1
print ("Please help!")
堆栈跟踪
Traceback (most recent call last):
true_rank_powerlevel = int(powerlevel_database[database_identifier])
IndexError: list index out of range
【问题讨论】:
-
这是什么语言?没有标记
-
这是 Python。堆栈跟踪现已发布@njzk2
标签: python list for-loop int enumerate