The problem really has to do with how you structured the program. Within while
you are reading the number and add it to the list regardless of its value:
while Numero>0:
Numero = int(input('Digite um Numero'))
inteiro.append(Numero) # aqui adiciona mesmo se for 0 ou negativo
The number is added even when it is not valid, because the while
comparison is made later. To solve, just restructure a little:
inteiro = []
while True:
Numero = int(input('Digite um Numero'))
if Numero <= 0: # logo após ler o numero vê se é inválido
break # caso seja termina o while sem adicionar
inteiro.append(Numero) # se for valido adiciona à lista e segue para o próximo
print(sorted(inteiro,reverse=True))
See the code working on Ideone