Как сохранить полученный результат?

Мне надо чтобы программа сохраняла уже выбитых героев и больше их не выбивала. Но при этом сохранение должно длиться не до закрытия программы, а до следующего раза. То есть мне нужно, как в нормальных играх, где каждый день не приходится выбивать одного и того же героя.

import random
import time
A=['Ледяной лорд','Ариэ']
B=['Палач','Дух кладбища','Лорд тьмы','Песчаный титан']
C=['Сенсей','Ледяной лучник','Алим','Отшельник']
D=['Зевс','Аид','Посейдон']
E=['Артур','Мерлин','Страж']
F=['Ледяной лорд','Ариэ','Палач','Дух кладбища','Лорд тьмы','Песчаный титан','Сенсей','Ледяной лучник','Алим','Отшельник','Зевс','Аид','Посейдон','Артур','Мерлин','Страж']
while True:
    A1=2
    A2=1
    A3=4
    A4=9
    A5=16
    A6=26
    A7=700
    print('''Сколько сундуков открыть желаете?''')
    Q=int(input())
    for w in range(0,Q):
        print('''
''')
        V=(random.randint(1,10))
        if V<2:
            K=5
        if V>1 and V<4:
            K=4
        if V>3:
            K=3
        for i in range(0,K):
            H=K-i
            print('''
Осталось предметов: %s'''%(H))
            X=(random.randint(1,A7))
            if X<A1:
                print('''
Новый герой''')
                time.sleep(5)
                print('╠Легендарный╣')
                time.sleep(5)
                print(random.choice(A))
            if X>A2 and X<A2+4:
                print('''
Новый герой''')
                time.sleep(5)
                print('║Мифический║')
                time.sleep(5)
                print(random.choice(B))
            if X>A3 and X<A3+6:
                print('''
Новый герой''')
                time.sleep(5)
                print('╝Эпический╚ ')
                time.sleep(5)
                print(random.choice(C))
            if X>A4 and X<A4+8:
                print('''
Новый герой''')
                time.sleep(5)
                print('╛Редкий╘')
                time.sleep(5)
                print(random.choice(D))
            if X>A5 and X<A5+11:
                print('''
Новый герой''')
                time.sleep(5)
                print('┐Обычный┌')
                time.sleep(5)
                print(random.choice(E))
            if X>A6:
                P=(random.randint(1,10))
                if P<2:
                    L=3
                if P>1 and P<4:
                    L=2
                if P>3:
                    L=1
                print('''
Улудшение на:''')
                time.sleep(2)
                Y=(random.choice(F))
                print('%s очки силы: %s'%(Y,L))

Ответы (1 шт):

Автор решения: Cloud

Я решил проблему на счёт удаления из списка (подробнее почитайте в комментариях к вопросу).

import random
import time
I1=['Некто']
A=['Ледяной лорд','Ариэ']
B=['Палач','Дух кладбища','Лорд тьмы','Песчаный титан']
C=['Сенсей','Ледяной лучник','Алим','Отшельник']
D=['Зевс','Аид','Посейдон']
E=['Артур','Мерлин','Страж']
F=['Ледяной лорд','Ариэ','Палач','Дух кладбища','Лорд тьмы','Песчаный титан','Сенсей','Ледяной лучник','Алим','Отшельник','Зевс','Аид','Посейдон','Артур','Мерлин','Страж']
while True:
    A1=2
    A2=1
    A3=4
    A4=9
    A5=16
    A6=26
    A7=700
    print('''Сколько сундуков открыть желаете?''')
    Q=int(input())
    for w in range(0,Q):
        print('''
''')
        V=(random.randint(1,10))
        if V<2:
            K=5
        if V>1 and V<4:
            K=4
        if V>3:
            K=3
        for i in range(0,K):
            H=K-i
            print('''
Осталось предметов: %s'''%(H))
            X=(random.randint(1,A7))
            if X<A1:
                print('''
Новый герой''')
                time.sleep(5)
                print('╠Легендарный╣')
                time.sleep(5)
                A1=(random.choice(A))
                A2=A.index(str(A1))
                del A[A2]
                I1.append(str(A1))
                print('%s'%(A1))
            if X>A2 and X<A2+4:
                print('''
Новый герой''')
                time.sleep(5)
                print('║Мифический║')
                time.sleep(5)
                B1=(random.choice(B))
                B2=B.index(str(B1))
                del B[B2]
                I1.append(str(B1))
                print('%s'%(B1))
            if X>A3 and X<A3+6:
                print('''
Новый герой''')
                time.sleep(5)
                print('╝Эпический╚ ')
                time.sleep(5)
                C1=(random.choice(C))
                C2=C.index(str(C1))
                del C[C2]
                I1.append(str(C1))
                print('%s'%(C1))
            if X>A4 and X<A4+8:
                print('''
Новый герой''')
                time.sleep(5)
                print('╛Редкий╘')
                time.sleep(5)
                D1=(random.choice(D))
                D2=D.index(str(D1))
                del D[D2]
                I1.append(str(D1))
                print('%s'%(D1))
            if X>A5 and X<A5+11:
                print('''
Новый герой''')
                time.sleep(5)
                print('┐Обычный┌')
                time.sleep(5)
                E1=(random.choice(E))
                E2=E.index(str(E1))
                del E[E2]
                I1.append(str(E1))
                print('%s'%(E1))
            if X>A6:
                P=(random.randint(1,10))
                if P<2:
                    L=3
                if P>1 and P<4:
                    L=2
                if P>3:
                    L=1
                print('''
Улудшение на:''')
                time.sleep(2)
                Y=(random.choice(I1))
                print('%s очки силы: %s'%(Y,L))
            print(I1)
            print(A)
            print(B)
            print(C)
            print(D)
            print(E)

Print в конце я написал чтоб убедится в правильности решения.

→ Ссылка