May-27-2019, 09:55 PM
Hello guys, here again.
i got a problem i thought would not be possible, i'v created a list for being used as a data base, just for grabbing info, i made it for not being changed , but at a point of my code it just starts to me adulterated, what makes no sense.. here is the code.. its very messy but please go easy on me.. i wanna know what is the problem.. it changes at the second loop when you type 1 instead of 0 when it asks: "continuar?".. well.. the thing is, the list : pedidosafe should not change... ever
please heelp
i got a problem i thought would not be possible, i'v created a list for being used as a data base, just for grabbing info, i made it for not being changed , but at a point of my code it just starts to me adulterated, what makes no sense.. here is the code.. its very messy but please go easy on me.. i wanna know what is the problem.. it changes at the second loop when you type 1 instead of 0 when it asks: "continuar?".. well.. the thing is, the list : pedidosafe should not change... ever
please heelp
pedidos = []
dicionario = {}
itens_pedido = []
pedidosafe = []
inicio = 'S'
indic_pedido = 0
while inicio in 'Ss':
romaneio = int(input('informe o pedido\n:'))
pedido = open(f'Pedidos_test\{romaneio}.txt', 'r')
cont_inicio = 0
for c, linha in enumerate(pedido):
if linha.rstrip():
novo = int(linha)
itens_pedido.append(novo)
n = romaneio
p = indic_pedido
dicionario.update({p:n})
inicio = str(input('Nova entrada?\n[S/N]:')).upper().strip()
indic_pedido += 1
pedidos.append(itens_pedido[:])
pedidosafe.append(itens_pedido[:])
itens_pedido.clear()
analise = []
resumo = []
resumobk = []
juntar = []
pedidosbk = []
itendupl = []
tuple(pedidosafe)
#APB = adicionar em pedidos backup
for APB in pedidos:
pedidosbk.append(APB)
for q in range(0, 6):
print('chegou?')
print(f'{pedidosafe}pedidos safe')
cont = vezes = contador = numlist = posi = ped = trigger = numped = controle = controledoresumo = menu = controle_posi = 0
if menu == 0:
print('linha2')
print(f'{pedidosafe}pedidossafe')
for general in range(0, 7):
while trigger == 0:
print('\033[31m ok triger\033[m')
for c, p in enumerate(pedidos):
for m in p:
if cont == 0:
print('\033[31m ok if cont == 0\033[m')
analise.append(m)
if cont >= 1:
print('\033[31m ok if cont >= 1\033[m')
contador += 1
if m in analise:
print('\033[31m ok m in analise\033[m')
vezes += 1
if len(p) == contador:
print('\033[31m ok len(p) == contador\033[m')
resumo.append([c + controle])
resumo[posi].append(vezes)
vezes = 0
contador = 0
posi += 1
if c == len(pedidos)-1:
print('\033[31m ok c == len(pedidos)\033[m')
for posiped in resumo:
posiped.insert(0, ped)
del(pedidos[0])
ped += 1
cont += 1
controle += 1
controledoresumo += 1
if controledoresumo <= 8:
print('\033[31m ok controledoresumo <=8\033[m')
resumobk.append(resumo[:])
resumo.clear()
cont = vezes = contador = posi = 0
if len(pedidos) == 0:
print('\033[31m ok len(pedidos) == 0\033[m')
trigger = 1
resumobk.pop()
posi = 0
resumo.clear()
analise.clear()
pedido1 = 0
pedido2 = 0
mai = cont2 = 0
for r in resumobk:
for v in r:
if cont2 == 0:
print('\033[31m ok cont2 == 0\033[m')
mai = v[2]
pedido1 = v[0]
pedido2 = v[1]
if cont2 >= 1:
print('\033[31m ok cont2 >= 1\033[m')
if v[2] >= mai:
mai = v[2]
pedido1 = v[0]
pedido2 = v[1]
cont2 += 1
print(f'{pedidosbk}este é o pedidobak original')
print(f'{pedidosafe}pedidosafe')
for insert in pedidosbk:
pedidos.append(insert)
print(f'{pedidos}adicionando pedidosbk no pedidos')
print(f'{pedidosafe}pedidosafe ponto')
primeirasom = list(set(pedidosbk[pedido1]+pedidosbk[pedido2]))
tuple(pedidosafe)
pedidos[pedido1] = primeirasom
pedidos[pedido2].clear()
juntar.append(pedido1)
juntar.append(pedido2)
print(f'{pedidosafe}pedidosafedenovo')
trigger = 0
cont2 = 0
pedido1 = 0
pedido2 = 0
controle = 0
ped = 0
pedidosbk.clear()
for insert2 in pedidos:
pedidosbk.append(insert2)
print('essa linha?')
print(f'{pedidos}este é pedidos apos ser inferido')
if len(set(juntar)) >= 6:
for dic in set(juntar):
print(dicionario[dic])
print(f'{pedidos}pedidos')
print(f'{pedidosbk}pedidosbk')
print(f'{pedidosafe}pesdidossafe')
for additen in pedidosafe:
print(f'{juntar} este é juntar')
print(f'{controle_posi} este é o controle da posição atual')
print(f'{itendupl}itemdup')
if controle_posi in set(juntar):
print('\033[31m ok in set(juntar)\033[m')
for oiten in additen:
itendupl.append(oiten)
controle_posi += 1
divisor = len(itendupl)
dividendo = len(set(itendupl))
print(f'{divisor},{dividendo}divisor dividendo')
print(f'{itendupl} agora com len {set(itendupl)}')
print(f'{abs(float((dividendo / divisor) * 100 - 100)):.0f} % de redução')
menu = int(input('continuar?'))
print(f'{pedidosafe}pedidosafe')
print(set(juntar))
controledoresumo = 0
resumobk.clear()
print(f'{general}este é o contador general')
print(f'{pedidos}pedidos')
print(f'{pedidosbk}pedidosbk')
if menu != 0:
print('\033[31m ok \033[m')
itendupl.clear()
controle_posi = 0
pedidos.clear()
pedidosbk.clear()
itendupl.clear()
juntar.clear()
for restart in pedidosafe:
pedidos.append(restart)
pedidosbk.append(restart)
menu = 0
break
