-
Notifications
You must be signed in to change notification settings - Fork 0
/
aula14av1.py
80 lines (65 loc) · 2.49 KB
/
aula14av1.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
######################################################
# davi Sartor
# Nicolas Pereira
# Engenharia de Computação - SATC
# Estrutura de dados
######################################################
import sys, os
def limpa():
os.system('cls' if os.name == 'nt' else 'clear')
class listarNumeros:
def __init__(self):
self.numeros = []
def adicionar_numeros(self) -> None:
while True:
qtd = int(input("Quantos itens você quer adicionar? Mínimo 10\n"))
if qtd >= 10:
break
else:
print("Quantidade de itens incorreta!!")
for i in range(qtd):
while True:
try:
number = int(input(f"Digite o {i+1}º número da lista: "))
if not any(number == x for x in self.numeros):
self.numeros.append(number)
break
else:
print("Número já presente na lista. Por favor, digite outro.")
except ValueError:
print("Entrada inválida. Por favor, digite um número inteiro.")
def mostrar_numeros(self) -> None:
print("\nLista de números não ordenada:")
for i, number in enumerate(self.numeros):
print(f"{i+1}. {number}")
n = len(self.numeros)
for i in range(1, n):
chave = self.numeros[i]
j = i - 1
while j >= 0 and self.numeros[j] > chave:
self.numeros[j + 1] = self.numeros[j]
j -= 1
self.numeros[j + 1] = chave
print("\nLista de números ordenada:")
for i, number in enumerate(self.numeros):
print(f"{i+1}. {number}")
input("Pressione ENTER para continuar")
def main() -> None:
lista_numeros = listarNumeros()
while True:
limpa()
print("\nEscolha uma opção:")
print("[1] - Adicionar até 10 elementos à lista")
print("[2] - Visualizar elementos da lista")
print("[3] - Sair")
opcao = int(input("Escolha uma opção: "))
if opcao == 1:
lista_numeros.adicionar_numeros()
elif opcao == 2:
lista_numeros.mostrar_numeros()
elif opcao == 3:
break
else:
print("Opção inválida. Por favor, escolha uma das opções disponíveis.")
if __name__ == "__main__":
main()