아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
근사한지어새217
근사한지어새21719.04.10

(list 관련)큰 값부터 앞에서 나오게 출력하는 방법은?

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언어에서 정렬부분에 있는부분을 똑같이 따라해서 파이썬에 적용해보았는데 적용이 되지 않습니다. 어느 부분에서 막힌지 알려주시면 감사하겠습니다.

55글자 더 채워주세요.
답변의 개수
1개의 답변이 있어요!
  • 코드 조금만 고치면 되겠네요

    # -*- coding: utf-8 -*- a = [0,0,0,0] a[0]=int(input("1번째 숫자 : ")) // input은 문자열을 입력받습니다. a[1]=int(input("2번째 숫자 : ")) // 숫자로 바꾸려면 int를 쓰면 됩니다. a[2]=int(input("3번째 숫자 : ")) // str은 문자열로 바꿀 때 쓸 수 있습니다. a[3]=int(input("4번째 숫자 : ")) // 여기서는 str이 아니라 int를 쓰면 됩니다. for i in range(0, 4): // 0부터 3까지는 range(0, 4)입니다. 3이 아니에요!! max = i // 바깥쪽 for문 한 번 돌 때 (맨 앞부터) 하나씩 정렬된 상태가 됩니다. for j in range(i, 4): // 그러므로 안쪽 for문에서는 하나씩 빼고 돌아야 합니다. if a[j] > a[max]: max=j a[i], a[max] = a[max], a[i] // 변수 a와 b의 값을 바꾸려면 a, b = b, a로 하면 됩니다. for i in range(0,4): print(a[i], end="")