0
我注意到这是一个受欢迎的TypeError,但我找不到解决方案。看看我的代码,说什么是错的,请:Dict里面的列表和TypeError:列表索引必须是整数,而不是字典
import random
players_list = []
def add_player():
possible_flags = {'is_computer', 'is_human'}
decision = -1
while decision != '0':
player_name = input('Give a name: ')
while player_flag not in possible_flags
player_flag = input("Type 'is_computer' or 'is_human': ") #is_computer or is_human
players_list.append({'player_name': player_name, 'player_flag': player_flag, 'player_decision': None})
decision = input('Do you want add a new player [1]? To leave type [1] ')
def play():
options = {1: 'rock', 2: 'paper', 3: 'scissors', 4: 'lizard', 5: 'Spock'}
for i in players_list:
if('is_computer' in players_list[i]):
player_decision = random.choice(options)
elif('is_player' in players_list[i]):
player_decision = input()
player_list[i]['player_decision'] = options[player_decision]
add_player()
play()
的问题是存在的:
if('is_computer' in players_list[i]):
我也试过:
if('is_computer' in players_list[i]['player_flag']):
但是,这也不起作用。 我只是不明白它。把词典放在名单中是否犯了错误?我会很感激任何有关它的文章的链接。
非常感谢
'我在players_list中:\ n ... players_list [i]':Python不是javascript。 – Evert