프로그램
[파이썬] 문제 : 가변인수로 받은 값으로 정렬
오디세이99
2022. 11. 14. 19:39
728x90
반응형
가변인수로 받은 값들을 오름차순하여 출력
def func(*arg): # 가변인자 함수. * 사용
lst = [] # 가변인자를 저장할 리스트 선언
for i in arg: # 가변인자 원소수 만큼 반복
lst.append(i) # 원소를 리스트에 추가
lst.sort() # 오름차순 정렬
return lst # 값을 리턴 함
print(func(3,1,4,2,5)) # 출력
결과
[1, 2, 3, 4, 5]
리스트 sort 함수를 사용하지 않고
def sort(L):
for i in range(len(L)):
for j in range(i, len(L)):
if L[i] > L[j]:
tmp = L[j]
L[j] = L[i]
L[i] = tmp
return L
def func(*arg): # 가변인자 함수. * 사용
lst = [] # 가변인자를 저장할 리스트 선언
for i in arg: # 가변인자 원소수 만큼 반복
lst.append(i) # 원소를 리스트에 추가
# lst.sort() # 오름차순 정렬
lst = sort(lst)
return lst # 값을 리턴 함
print(func(3,1,4,2,5)) # 출력
결과
[1, 2, 3, 4, 5]
가변인수로 받은 값들을 내림차순하여 출력
def func(*arg):
lst = []
for i in arg:
lst.append(i)
lst.sort(reverse=True) # 내림차순으로 정렬
return lst
print(func(3,1,4,2,5))
결과
[5, 4, 3, 2, 1]
리스트의 sort 함수를 사용하지 않고
def sort(L):
for i in range(len(L)):
for j in range(i, len(L)):
if L[i] < L[j]:
tmp = L[j]
L[j] = L[i]
L[i] = tmp
return L
def func(*arg):
lst = []
for i in arg:
lst.append(i)
# lst.sort(reverse=True) # 내림차순으로 정렬
lst = sort(lst)
return lst
print(func(3,1,4,2,5))
* 참고
https://question99.tistory.com/141
[파이썬] *args와 **kwargs
*가 붙어있어서 C언어를 하신 분들은 포인터와 연관시킬 수 있는데, 파이썬에서는 포인터가 아닙니다. *args : arguments = 함수 인자(arguments)의 값을 받아올 수 있음(튜플) **kwargs : keyword arguments = 함
question99.tistory.com
728x90
반응형