嘿伙计们,我正在学习 python,我被困在这个问题上。我已经尝试过了,但我的输出不符合正确答案。有什么原因以及如何解决它?
问题:刺客游戏是一个在大学校园里玩的简单游戏,每个玩家只需对他们说“你死了”就被分配了一个暗杀目标。当然,校园里有成千上万的人,而游戏中只有几十人,你永远不知道谁想要暗杀你。一旦你暗杀了一个人,你就会找到他们正在寻找的目标。如果这恰好是你,那么你就是赢家。为确保其正常工作,目标必须形成一个连续的“链”。编写一个程序,允许用户输入他们的目标分配,并根据是否存在连续的“链”输出它是否有效。列表中的每个人都由列表中的位置表示。该位置的价值是他们的目标。
我的代码:
total=0
list_of_players=[]
player=raw_input("Enter a player (end to stop): ")
while player !="end":
list_of_players.append(int(player))
player=raw_input("Enter a player (end to stop): ")
for x in range(len(list_of_players)):
total+=1
if list_of_players[x]==0 and len(list_of_players)==total:
print "The game is valid."
if list_of_players[x]!=0 or len(list_of_players)!=total:
print "The game is not valid. "
问题是如果我输入玩家 4,3,0,5,6,2,1:它应该是有效的。我的程序将此显示为invalid。有什么想法可以改进我的程序吗?如果有人好奇,我从programmersheaven.com 得到了这个练习题!谢谢!