Bom, eu estou aprendendo Python e gostaria de saber se é bom aprender a fazer algoritmos mais simples, ou é melhor trabalhar com os mais complexos?
Estou lendo um livro que ensina a programar em Python e parei no capítulo onde ensinam a ordenar listas. Eu sei que o Python existe justamente para ser uma linguagem mais simples e de fácil uso. Mas em uma das lições, ele pede para ordenar uma lista de scores e o algoritmo é desse jeito:
def bubble_sort(scores_bubbles):
swapped = True
while swapped:
swapped = False
for i in range(0, len(scores_bubbles)-1):
if scores_bubbles[i] < scores_bubbles[i+1]:
temp = scores_bubbles[i]
scores_bubbles[i] = scores_bubbles[i+1]
scores_bubbles[i+1] = temp
swapped = True
scores_bubbles = [60, 50, 60, 58 ,54, 54, 58, 50, 52, 54, 48, 69,
34, 55, 51, 52, 44, 51, 69, 64, 66, 55, 52,
61, 46, 31, 57, 52, 44, 18, 41, 53, 55, 61, 51, 44]
bubble_sort(scores_bubbles)
print(scores_bubbles)
Mas eu procurei na internet e vi um algoritmo que faz a MESMA coisa que essa função e usa apenas TRÊS linhas!
Ambos vão mostrar os números da lista de forma decrescente:
scores_bubbles = [60, 50, 60, 58 ,54, 54, 58, 50, 52, 54, 48, 69,
34, 55, 51, 52, 44, 51, 69, 64, 66, 55, 52,
61, 46, 31, 57, 52, 44, 18, 41, 53, 55, 61, 51, 44]
best_bubbles = sorted(scores_bubbles , reverse=True)
print(best_bubbles)
Eu não quero me prender apenas ao Python, provavelmente irei para o Java ou programação web com Javascript, então gostaria de saber se na fase de aprendizado é bom saber apenas os códigos simples e não trabalhar nos mais complexos.
Obrigado desde já