[ Foro de Python ]

hola, necesito ayuda con un codigo, sinseramente no se que es lo que esta mal

07-Feb-2022 18:29
Invitado (juan)
1 Respuestas



N=int(input("ingrese un Numero:"))
A=[None]*(N+1)
for I in range (1,N+1,1):
  A[I]=int(input("ingrese un numero: "))
for I in range(1,N,1):
  for J in range(I+1,N+1,1):
    if A[J] < A[I]:
        X=A[I]
        A[I]=A[J]
        A[J]=X
print("lista ordenada")
for I in range (1,N+1,1):
  print (A[I])



Cuando lo ejecuto tengo este error, ademas creo que lo hice al revez, por que debe ordenar de mayor a menor y este hace lo contrario. AYUDAAAA

ingrese un Numero:12
ingrese un numero: 3
ingrese un numero: 43
ingrese un numero: 6
ingrese un numero: 8
ingrese un numero: 32
ingrese un numero: 9
ingrese un numero: 4
ingrese un numero:
Traceback (most recent call last):
 File "main.py", line 4, in <module>
   A[I]=float((input("ingrese un numero: ")))
ValueError: could not convert string to float: ''
?


10-Feb-2022 11:07
Invitado (An?nimo)

Ese error te aparece porque debes estar proporcionando un número decimal, cuando tu código espera un valor entero. No obstante, para recoger una lista de números y presentarlos ordenados, diría que te estás tomando mucho trabajo. Aprovechando parte de tu código, podrías probar esto:


N=int(input("Ingrese un número:"))
A=[None]*(N+1)
for I in range(N+1):
	A[I]=int(input("Ingrese un número:"))
x=sorted(A)
print(x)


 






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)