2013-02-04 3 views
0

다음은 선택 정렬을위한 코드이지만 정렬 된 목록을 인쇄하지 않습니다. 어떻게 보여줄 수 있습니까?파이썬에서 선택 정렬

badlist = input("Enter list: ") 
def select(badlist): 
     l = list[:] 
     sorted = [] 
     while len(l): 
      lowest == l[0] 
      for x in l: 
       if x < lowest: 
        lowest = x 
      sorted.append(lowest) 
      l.remove(lowest) 
     return sorted 
select(badlist) 
+0

코드에 print 문이 없습니다.'print select (badlist) ' – avasal

+1

여기서 무슨 일이 일어나고 있는지 궁금합니다.'l = list [:]'; 변수에 내장 된 변수의 이름을 지정하지 마십시오. 'sorted = []'그리고 나서'sorted.append (lowest)'는 문제를 묻는 것입니다. –

+0

단순히'builted'sorted (list)'를 사용하지 않고 전체 코드를 다음과 같이 쓰면 어떨까요 :'print sorted (input ("Enter list :"))' –

답변

0

print을 사용하십시오.

파이썬 3.x를 print에서
result = select(badlist) 
print result 

함수이며 괄호를 사용해야합니다 : 당신은 또한에있는

result = select(badlist) 
print(result) 

파이썬 2.x에서 print를 사용하는 경우는 키워드입니다 다른 두 가지 이상의 오류 :

  • 귀하의 함수 매개 변수는 badlist이지만 요 결코 사용하지 마십시오.
  • == 연산자는 동등 비교입니다. 할당을 위해 =이 필요합니다.

또한 알고리즘이 매우 느려서 O (n) 연산이 필요합니다.

+0

'Type'개체에 '__geitem__'특성이 없습니다 ( – user1950302

+0

) 고맙습니다. :) – user1950302

1

내 댓글에 확장 :

왜 수 단순히 내장 sorted(list)을 사용하고 당신이 당신의 전체 코드를 가질 수 있습니다 보여 주어야

print sorted(input("Enter list: "))

+0

나는 이것이 숙제이거나 숙제 인 것으로 확신하며 내장 된 - 인. –

+0

@BurhanKhalid 그럴 수도 있지만 그럴 수는 없지만이 답변은 OP에만 해당되는 것이 아니라 OP와 비슷한 문제에 대한 해결책을 찾고이 페이지를 찾는 StackOverflow에 오는 사람들에게 답변입니다 . 이것을 대답으로 포함시키지 않는 것은 잘못입니다. –

2

파이썬 쉘에서 select(badlist)를 입력하면됩니다 그러나 결과를 파일로 실행하는 경우 print 문을 사용해야합니다 (print select(badlist)).