리스트 정렬 질문입니다.
조회수 1986회
temp=0
a=[0,0,0,0]
a[0]=str(input("1번째 숫자 : "))
a[1]=str(input("2번째 숫자 : "))
a[2]=str(input("3번째 숫자 : "))
a[3]=str(input("4번째 숫자 : "))
for i in range(0,3):
max=i
for j in range(0,3):
if a[j]<a[max]:
max=j
temp=a[i]
a[i]=a[max]
a[max]=temp
for i in range(0,4):
print(a[i], end="")
숫자를 입력받은 후, 큰값부터 앞에나오게 출력하고싶었는데 원치 않는 숫자들이 찍히네요ㅠㅠ c언어에서 정렬부분에 있는부분을 똑같이 따라해서 파이썬에 적용해보았는데 막혀버렸습니다... 아시는분 있으면 도움주셨으면 합니다!
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
python에서는 sort라는 함수를 사용하시면 됩니다.
a=[3,2,1] a.sort() print(a)
추가로... python을 c처럼 쓰고 계신 부분이 있어서 설명 드리면 python에서는 list의 길이를 미리 안정해도 됩니다. 그래서 입력을 받을 때,
a=[] # 크기를 미리 정하지 않고 list로만 선언 for i in range(0,4) a.append(str(input("{}번째 숫자 : ".format(i+1))))
이렇게 입력 받으면 좋겠어요.
또 출력도 이렇게 하시면 더 좋겠네요.
a=[1,2,3,4] for n in a: print(n, end=" ")
댓글 입력