Ir para conteúdo
Fórum Script Brasil
  • 0

Problema ao Salvar


Alucardk

Pergunta

Boa tarde.

Estou aprendendo phyton e surgiu um problema aqui, ao tentar salvar o algoritmo abaixo, o mesmo não salvava de jeito nenhum.

Segue o algoritmo:

n = 0
pontos = 0
mais_pontos = 0
menos_pontos = 100000
while n <= 20:
    n = n + 1
    nome = raw_input("Nome do Time: ")
    vit = int(raw_input("Vitórias: "))
    emp = int(raw_input("Empates: "))
    der = int(raw_input("Derrotas: "))
    pontos = (vit * 3) + (emp * 1) + (der * 0)
    if pontos > mais_pontos:
        nome_mais = nome
    elif pontos < menos_pontos:
        nome_menos = nome
print "1º lugar:", nome_mais
print "20º lugar:", nome_menos

 

Estou fazendo algo errado?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

@Alucardk sim, tem uma coisa errada no algoritmo. 

Algumas variáveis não estavam declaradas fora do escopo do while e os maiores e menores pontos não estavam sendo salvos para referência.

Sem alterar o teor do script para não aumentar a complexidade, esse código parece ter funcionado aqui, podes testar?

pontos = 0
mais_pontos = 0
menos_pontos = 100000
nome_mais = ''
nome_menos = ''

for i in xrange(3):
    nome = raw_input("Nome do Time: ")
    vit = int(raw_input("Vitorias: "))
    emp = int(raw_input("Empates: "))
    der = int(raw_input("Derrotas: "))
    pontos = (vit * 3) + (emp * 1) + (der * 0)

    if pontos > mais_pontos:
        nome_mais = nome
        mais_pontos = pontos

    if pontos < menos_pontos:
        nome_menos = nome
        menos_pontos = pontos

print "1 lugar:", nome_mais
print "Ultimo lugar:", nome_menos

 

Uma outra maneira segue abaixo:
 

times = []
for n in xrange(3):
    nome = raw_input("Nome do Time: ")
    vit = int(raw_input("Vitorias: "))
    emp = int(raw_input("Empates: "))
    der = int(raw_input("Derrotas: "))
    pontos = (vit * 3) + (emp * 1) + (der * 0)

    ''' Salvo todos os itens numa tuple, vai que precisa usar depois? '''
    times.append((nome, vit, emp, der, pontos))

''' x[4] representa o item pontos da tuple'''
times = sorted(times, key=lambda x: x[4], reverse=True)

print 'Primeiro lugar: ', times[0][0]
print 'Ultimo lugar: ', times[-1][0]

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...