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