Se quiser que o programa leia os nomes que vem de um arquivo de texto e salve em um outro arquivo de texto com os nomes ordenados:
with open("Nomes.txt", "r") as nome: lista = sorted([x.strip( ) for x in nome]) nome.close( ) with open("Nomes ordenados.txt", "a") as ord: for x in range(len(lista)): ord.write(f"{x + 1} - {lista[x]}\n") ord.close( )
Se quiser inserir os nomes manualmente e salvá-los em um arquivo de texto:
lista = [ ] r = "S" while r == "S": c = 1 qtd_nomes = int(input("Quantos nomes deseja cadastrar? \n")) while c <= qtd_nomes: nomes = input(f"Digite o {c}º nome: ") lista.append(nomes) c += 1 r = input("\nCadastrar mais nomes? S/N \n").upper( ) print( ) while (r != "S") and (r != "N"): r = input("Cadastrar mais nomes? S/N ") print( ) if (r != "S") and (r != "N"): print("Digite apenas 'S' ou 'N' para responder.") nova = sorted(lista) with open("Nomes ordenados.txt", "a") as ord: for x in range(len(nova)): ord.write(f"{x + 1} - {nova[x]}\n") ord.close( )
Se quiser que eles sejam apenas impressos na tela, é só substituir o trecho de código do primeiro exemplo
with open("Nomes ordenados.txt", "a") as ord:
for x in range(len(lista)):
ord.write(f"{x + 1} - {lista[x]}\n")
ord.close( )
por
for x in lista:
print(x)
No segundo exemplo é só substituir:
with open("Nomes ordenados.txt", "a") as ord:
for x in range(len(nova)):
ord.write(f"{x + 1} - {nova[x]}\n")
ord.close( )
por
for x in nova:
print(x)
Espero que ajude.
Aqui está um codigo em python 3:
nomes = [] #lista de nomes vazia inicialmente
for k in range(0,20):#laco de 20 iteracoes para receber os 20 nomes
nome = input("Insira o "+ str(k+1) +"º nome >>" )
nomes.append(nome) #adcionando nomes na lista
nomes.sort() #metodo nativo do python para organizar listas
print("==================")
print("Lista de nomes ordenados:")
for n in range(0,20):
print(str(n+1)+ "º nome >> " + nomes[n]) #printando nomes da lista em ordem alfabética
Na vida cotidiana, algoritmos são frequentemente usados para resolver problemas. Alguns exemplos são manuais do usuário, que mostram algoritmos para o uso de um dispositivo ou as instruções que um trabalhador recebe de seu empregador.
Sabendo disso, o algoritmo será:
nomes = [] #lista nomes
for k in range(0,20):#laco de 20 iteracoes
nome = input("Insira o "+ str(k+1) +"º nome >>" )
nomes.append(nome) #adcionando nomes para lista
nomes.sort()
print("==================")
print("Lista de nomes ordenados:")
for n in range(0,20):
print(str(n+1)+ "º nome >> " + nomes[n]) #printando nomes da lista em ordem crescente
Para escrever sua resposta aqui, entre ou crie uma conta.
Compartilhar