Объясните работу кода в задачке python
Непонятен код там, где добавлены комментарии. Объясните пожалуйста работу кода в отмеченных моментах. Вот описание задачи: Напишите программу «Генератор персонажей» для ролевой игры. Пользователю должно быть предоставлено 30 пунктов, которые можно распределить между четырьмя характеристиками: Сипа, Здоровье, Мудрость и Ловкость. Надо сделать так, чтобы пользователь мог не только брать эти пункты из общего «Пула», но и возвращать их туда из характеристик, которым он решит присвоить другие значения.
print('Hi! You have 30 points and you can distribute \
them between 4 characteristics \n-Strength\n-Health\n-Wisdom\n-Skill')
table={'Strength':0, 'Health':0, 'Wisdom':0, 'Skill':0}
characteristics=['Strength', 'Health', 'Wisdom', 'Skill']
all_points=30
choose=None
choose_ch=None
while choose!=0:
print('\n0-Exit\n1-Add points to characteristic\n2-Remove points from characteristic\n3-Look at the list with points')
choose=int(input('\nYour choice: '))
if choose==1:
print('What do you want to change?\n1-Strength\n2-Health\n3-Wisdom\n4-Skill''')
choose_ch=int(input('\nYour choice: '))
points = int(input('\nHow many points: '))
if points<0:
points=points*(-1)
x=all_points-points
while x<0:
print('You run out of points. Left {} points at all'.format(all_points))
points = int(input('\nHow many points: '))
x = all_points - points
table[characteristics[choose_ch-1]]+=points #Что значит эта конструкция и почему отнимают1
all_points-=points
if choose==2:
print('What do you want to change?\n1-Strength\n2-Health\n3-Wisdom\n4-Skill''')
choose_ch = int(input('\nYour choice: '))
points = int(input('\nHow many points: '))
if points>0:
points=points*(-1) # зачем умножение на -1
y=table[characteristics[choose_ch - 1]]+points
if y<0: # почему условие меньше 0
table[characteristics[choose_ch - 1]]=0 # почему равно 0
all_points+=(-points+y)
else:
table[characteristics[choose_ch - 1]] += points
all_points += points
if choose==3:
for characteristic, point in table.items(): # зачем тут point. как работает эта строка?
print(characteristic, point)
print("Left {} spare points".format(all_points))
input('\nPress enter')