숙제로 나는 파이썬의 표준 정렬 함수를 사용하지 않고 3 개의 주어진 숫자의 중앙값을 찾는 스크립트를 작성해야합니다.정렬 함수를 사용하지 않고 중간 값 찾기
이것은 수업 첫 주이자 첫 프로그래밍 경험이므로 지금보다 더 어려워진다.
def med3(a,b,c):
list = [a, b, c]
newlist = []
if list:
minimum = list[0]
for x in list:
if x < minimum:
minimum = x
newlist.append(minimum)
list.remove(minimum)
elif x >= minimum:
newlist.append(x)
list.remove(x)
return newlist[1]
이 트릭을 할 것 같다,하지만리스트의 처음 두 항목에 대해 :
는 여기에 지금까지 무슨이다. 루프는 세 번째 항목을 포함하지 않습니다.
스크립트에 세 가지 항목을 모두 포함시킬 수 있습니까?
미리 감사드립니다. 샌더
당신이 무엇을보고 요소에 대한 결과를 초래하는, 그 위에 반복하는 동안이 자리에서 목록을 수정하는
너무 많은 일을. 루프와리스트를 사용하지 않고 "중간 값"이 3 개의 숫자의 맥락에서 의미하는 것을 정의하십시오. –
정말 필요하지 않은 코드가 많이 있습니다. 또한 숙제이기 때문에, 우리가 알아서하지 말고, 우리를 위해서 ... – Onlyjus
Welcome to Stack Overflow! 여기에는 많은 불필요한 단계가 있습니다. 예를 들어'if list :'는 불필요합니다 : 방금 목록을 정의했습니다. 그러나 일반적으로 목록이나 루프는 필요하지 않습니다. 힌트 : 각각 "또는"을 사용하는 세 개의'if' 문을 사용하면됩니다. –