'''
Welcome to GDB Online.
GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl,
C#, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog.
Code, Compile, Run and Debug online from anywhere in world.
'''
import random
listt = []
num = 0
collvo = 0
stoimost = 0
sun = 0
suma = 0
def inp(num):
while True:
try:
num = int(input(" :"))
return num
except:
print("необходимо ввести целое числовое значение")
def inp_p(num):
while True:
try:
num = float(input(" :"))
return num
except:
print("попробуйте ввести числовое значение, но уже сразу без стираний итд")
def dobpred(item):
num = 0
print("введите название предмета ",item+1)
num = str(input(" :"))
listt.append([0,0,num,0,0])
print("введите стоимость предмета ",item+1," в юанях")
num = inp(num)
listt[item][1]=num
print("введите шанс выподения предмета ",item+1,"без знака % (пример - 1.25)")
num = inp_p(num)
listt[item][0] = num
def info():
pozition = 0
print("\n")
for item in listt:
pozition = pozition + 1
print(pozition,":Предмет ",item[2]," шанс выпадения ",item[0],"% стоимость ",item[1]," юаней. Выпало ",item[3]," шт")
print("\n")
print("~sasha20~"*5,"\n")
def randos(sun):
global collvo
for sunduk in range(sun):
while True:
x = 0
random_ = (random.random())*1000000
for items in listt:
if random_ <= ((items[0])*10000)+items[4]*10000:
items[3]=items[3]+1
collvo = collvo + 1
x = 1
break
if x == 1:
break
def izmen():
for izm in listt:
izm_inoy = listt[(listt.index(izm))-1]
if izm == listt[0]:
izm_inoy = [0,0,0,0,0]
izm[4]=izm[4]+izm_inoy[0]+izm_inoy[4]
def redak():
num = 0
while True:
print("1 - удалить предмет. 2 - добавить предмет. 3 - назад")
num = inp(num)
if num == 3:
break
if num == 2:
num = 0
print("введите название предмета ",len(listt)+1)
num = str(input(" :"))
listt.append([0,0,num,0,0])
print("введите стоимость предмета ",len(listt)," в юанях")
num = inp(num)
listt[len(listt)-1][1]=num
print("введите шанс выподения предмета ",item+1,"без знака % (пример - 1.25)")
num = inp_p(num)
listt[len(listt)-1][0] = num
info()
if num == 1:
while True:
print("какой предмет удалить","1 -",len(listt)," назад - ",len(listt)+1)
num = inp(num)
if num == len(listt)+1:
break
del listt[num-1]
info()
def suma_m(suma):
for many_listt in listt:
suma = (many_listt[3]*many_listt[1])+suma
return suma
print("введите стоимость одного сундука в юанях")
stoimost = inp(num)
print("введите количество вещей в сундучке")
collvo = inp(num)
for item in range(collvo):
dobpred(item)
while True:
info()
print("что-то хотите изменить? 1 - оставить как есть. 2 - редактировать.")
num = inp(num)
if num == 1:
break
if num == 2:
redak()
collvo = 0
listt = sorted(listt)
izmen()
while True:
print("сколько сундуков открываем? желательно не более 10000 за раз")
sun = inp(num)
randos(sun)
suma = suma_m(suma)
info()
print("при открытии ",collvo," cундуков Вы заработали =",suma," юаней")
print("а потратили",stoimost*collvo," юаней")
print("вы отбили ",(suma/(stoimost*collvo))*100,"% от затраченного")
suma = 0
for tr in listt:
tr[3]=0
collvo = 0