Olá, queria que alguem fizesse um teste esse código.
Ele tá funcionando, mas o que eu queria que vocês testassem era isto: Clica na opcao 1 e escreve um numero e faz isso mais 2 vezes. (com numeros diferentes), depois no menu clica no 8 que e pra selecionar o crescente. Voce vai verificar que os numeros vao ficar crescentes, porem se eu for adicionar mais numeros, e for na opcao 8 de novo, ele não vai colocar o array todo por ordem crescente. Apenas vai colocar os novos que foram adicionados.
[!] -> O array é colocado de ordem crescente no def arraysort(): é o ultimo código.
Alguem pode ajudar ai? slight_smile:
Código:
import sys
import os
import os.path
countpositivo = 0
countnegativo = 0
totalpositivo = 0
totalnegativo = 0
array = []
arraycrescente = []
countx = 0
x = 0
numerocontado = int
global menuoption
global result
#MENU DO PROGRAMA
def menu():
global menuoption
global numero
global j
global arraycrescente
global totalnegativo
global totalpositivo
print("\n\n===== MENU ARRAYS =====")
print("\n1.Inserir valor no Array")
print("\n2.Remover valor do Array")
print("\n3.Total do Array")
print("\n4.Ordernar Array (Crescente)")
print("\n5.Guardar Array num Ficheiro")
print("\n6.Mostrar Array")
print("\n7.Reset Array")
print("\n8.Ordenar Array (Crescente)")
print("\n0.Sair")
try:
menuoption=int(input("\n\nOpcao: "))
except:
print("\nTens de escolher uma das opcoes!")
return menu()
if menuoption==1: #opcao 1
inserirvalor()
elif menuoption==2: #opcao 2
if array==[]:
print("\n\n[ERRO] O array precisa de ter pelo menos um numero para poderes remover.")
menu()
else:
removervalordoarray()
elif menuoption==0: #opcao9
print("\n\n=== FIM DO PROGRAMA ===\n\n\n")
sys.exit
elif menuoption==6: #opcao 8
if array==[]:
print("\n\n[ERRO] O array precisa de ter pelo menos um numero para ser mostrado.")
menu()
else:
mostrararray()
elif menuoption==4: #opcao 5
if array==[]:
print("\n\n[ERRO] Nao tens nenhum numero inserido no array.")
menu()
else:
arrayordem()
elif menuoption==3: #opcao 4
if array==[]:
print("\n\n[ERRO] Nao e possivel calcular o total com o array vazio!")
menu()
else:
totaldoarray()
elif menuoption==5:
if array==[]:
print("\n\n[ERRO] Nao e possivel salvares com um array vazio!")
menu()
else:
guardarficheiro()
elif menuoption>8:
print("\n\n[!]Tens que escolher uma das opcoes!")
menu()
elif menuoption<0:
print("\n\n[!]Tens que escolher uma das opcoes!")
menu()
elif menuoption==3:
contarnrnoarray()
elif menuoption==7:
if array==[]:
print("\n\n[ERRO] Nao e necessario resetar, o array ja se encontra vazio.")
menu()
else:
totalpositivo = 0
totalnegativo = 0
numero = 0
total = 0
j = ' '
j = []
arraycrescente.clear
j.clear
arraycrescente = 0
arraycrescente = []
totalfinaldoarray = 0
array.clear()
print("\n\nArray Resetado!")
menu()
elif menuoption==8:
print("\n\n===== ARRAY EM ORDEM CRESCENTE =====")
arraysort()
#DEFINIÇÕES DO PROGRAMA
#definição da opção 1
def inserirvalor():
global numero
global totalnegativo
global totalpositivo
global storage
global a
print("\n\n\n=== Inserir Valor no Array ===\n")
try:
numero=int(input("\nEscreva um numero para inserir no array: "))
except:
print("\nApenas numeros sao permitidos.")
return inserirvalor()
if numero<0:
totalnegativo = totalnegativo + numero
array.append(numero)
menu()
elif numero>0:
totalpositivo = totalpositivo + numero
array.append(numero)
menu()
elif numero==0:
menu()
#definição da opção 2
def removervalordoarray():
print("\n\n\nArray:",array)
try:
print("\n-- Podes inserir 0 para voltar ao menu --")
removervalor=int(input("\n\nOpcao: "))
except:
print("\nSo podes remover numeros que estejam no array!")
return removervalordoarray()
if removervalor==0:
menu()
else:
array.remove(removervalor )
menu()
#definição da opção 8
def mostrararray():
print("\n\nArray: ",array)
try:
escolhamostrar=int(input("\nSe quiseres voltar ao menu insere um 0 -> "))
if escolhamostrar==0:
menu()
else:
print("\nPara sair tens de inserir o numero 0")
mostrararray()
except:
print("\n\nApenas numeros sao permitidos.")
return mostrararray()
#definição da opção 5
def arrayordem():
array.sort()
print("\n\n===== ARRAY CRESCENTE =====")
print("\nArray: ",array)
try:
escolhamostrar=int(input("\nSe quiseres voltar ao menu insere um 0 -> "))
if escolhamostrar==0:
menu()
else:
print("\nPara sair tens de inserir o numero 0")
arrayordem()
except:
print("\n\nApenas numeros sao permitidos.")
return arrayordem()
#definição da opção 4
def totaldoarray():
print("\n\n===== TOTAL DO ARRAY =====")
print("\nArray: ",array)
totalfinaldoarray = totalpositivo + totalnegativo
print("\nTotal Final: ",totalfinaldoarray)
try:
escolhamostrar=int(input("\nSe quiseres voltar ao menu insere um 0 -> "))
if escolhamostrar==0:
menu()
else:
print("\nPara sair tens de inserir o numero 0")
totaldoarray()
except:
print("\n\nApenas numeros sao permitidos.")
return totaldoarray()
def guardarficheiro():
print("\n===== GUARDAR FICHEIRO =====")
filename=str(input("\n\nEscolhe um nome para o ficheiro -> "))
if os.path.exists(filename):
totalfinaldoarray = totalpositivo + totalnegativo
Save.write(str('===== INFORMACOES DO ARRAY =====\n\n'))
Save.write(str('Array: '+str(array)+'\n\n'))
Save.write(str('Total Final: '+str(totalfinaldoarray)+'\n\n'))
Save.write(str('=====================================\n\n'))
Save.close()
base = os.path.splitext(filename)[0]
os.rename(filename, base + ".txt")
print("\n\nAs informacoes do array foram salvas!")
menu()
else:
totalfinaldoarray = totalpositivo + totalnegativo
Save = open(filename, 'w')
Save.write(str('===== INFORMACOES DO ARRAY =====\n\n'))
Save.write(str('Array: '+str(array)+'\n\n'))
Save.write(str('Total Final: '+str(totalfinaldoarray)+'\n\n'))
Save.write(str('=====================================\n\n'))
Save.close()
base = os.path.splitext(filename)[0]
os.rename(filename, base + ".txt")
print("\n\nAs informacoes do array foram salvas!")
menu()
#Função bubble sort
def arraysort():
for m in range(len(array)):
j = array
numero = min(array)
array.remove(numero)
arraycrescente.append(numero)
j = ' '.join(str(i) for i in arraycrescente)
print("\nArray Crescente: ",j)
try:
escolhamostrar=int(input("\nSe quiseres voltar ao menu insere um 0 -> "))
if escolhamostrar==0:
menu()
else:
print("\nPara sair tens de inserir o numero 0")
arrayordem()
except:
print("\n\nApenas numeros sao permitidos.")
return arrayordem()
menu()