Как уменьшить значения в списке с помощью пользовательского ввода и печати обновленного списка
Поэтому я пытаюсь построить игру 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, поэтому я не уверен, к чему вы стремитесь.