Как уменьшить значения в списке с помощью пользовательского ввода и печати обновленного списка

Поэтому я пытаюсь построить игру NIM. Я застрял с сокращением из списка и распечатал обновленный список вместо этого:

#reduces from board-list
def reducer(choice_1, choice_2,board):
    if choice_1 == 'a':
        board[0] - int(choice_2) 
    if choice_1 == 'b':
         board[1] - int(choice_2) 
    if choice_1 == 'c':
        board[2] - int(choice_2)


def lets_play():
    import random
    board = [5,4,3]
    print ('a)   |')
    print ('b)  |||')
    print ('c) |||||')
    chosen_move = input('type in letter of choice:   ')
    chosen_move2 = input ('choose amount you wish to reduce:  ')
    reducer (chosen_move,chosen_move2,board)
    print (board)

Когда я пытаюсь распечатать доску после изменений, введенных пользователем, список не меняется. Я явно что-то упускаю. Спасибо за помощь

1 ответ

Решение

Редуктор не модифицирует плату, он просто вызывает ее значения, выполняет с ними операцию, а затем ничего не делает с выводом. Я думаю тебе нужно сделать

def reducer(choice_1, choice_2,board):
    if choice_1 == 'a':
        board[0] -= int(choice_2) 
    if choice_1 == 'b':
         board[1] -= int(choice_2) 
    if choice_1 == 'c':
        board[2] -= int(choice_2)

Тем не менее, я не знаком с NIM, поэтому я не уверен, к чему вы стремитесь.

Другие вопросы по тегам