Ajuda erro de script python?

Na teoria deveria ler um numero x de valores informados pelo usuário e então informado qual é o maior e o menor dos numeros, so que não. Ele informa como maior valor somente o primeiro valor informado pelo usuário. Aonde estou errando ?

x = 1
maior_valor = int
menor_valor = int
valor_atual = int
while (x < 5):
    valor_atual = int(input(" digite o %i valor: " %x))
    if x == 1:
        maior_valor = valor_atual
        menor_valor = valor_atual

    elif valor_atual > maior_valor:
        valor_maior = valor_atual
    elif valor_atual < menor_valor:
        menor_valor = valor_atual
    x += 1

print(“O maior valor e %i e o menor e %i” %(maior_valor, menor_valor))

Saida que esse script gerou :

Connected to pydev debugger (build 171.4424.42)

digite o 1 valor: 10
digite o 2 valor: 86
digite o 3 valor: 78
digite o 4 valor: -100

O maior valor e 10 e o menor e -100

Process finished with exit code 0

Bem, você armazena o resultado da comparaçao na variável “valor_maior”, mas para mostrar o maior número você usa a variável “maior_valor”. Use a mesma variável para as duas coisas.

Coisas de linguagens dinamicas, onde você nao precisa declarar variável antes de usar.

1 curtida

Obrigado.