Я хочу добавить очки к объекту игрока со следующим утверждением.проблема с доступом к свойствам объектов
players[players.index(active_player)].points += moves[active_move]
Общий код для установки объектов на самом деле просто, но я получаю ошибку значения, что говорит игрок я вошел не в списке. Дополнительный код выглядит следующим образом:
class Player(object):
def __init__(self, name):
self.name = name
self.points = 0
def setup(players):
numplayers = int(raw_input("Enter number of players: "))
for i in range(numplayers):
name = raw_input("Enter player name: ")
player = Player(name)
players.append(player)
def display_moves(moves):
for item in moves:
print item, moves[item]
def main():
players = []
moves = {'Ronaldo Chop': 10, 'Elastico Chop': 30, 'Airborne Rainbow': 50, 'Fancy Fake Ball Roll': 50, 'Stop Ball and Turn': 20}
setup(players)
display_moves(moves)
flag = False
while not flag:
active_player = raw_input("Enter a player (0 to exit):")
if active_player == 0:
break
active_move = raw_input("Enter a move: ")
players[players.index(active_player)].points += moves[active_move]
main()
Почему вы используете 'флаг' в последнем цикле' while'? Если вам нужен бесконечный цикл, просто используйте 'while True:'. – Bakuriu