'''
def add(li):
sum = 0
for n in li:
sum += n
return sum
'''
'''
위치 가변 인수
- 함수를 호출할 때는 함수 정의시에 지정한 인수의 개수만큼 값을 전달해줘야한다.
- 하지만 위치 가변인수를 사용하면 하나의 인수로 여러개의 데이터를 받아서 처리할 수 있다.
- 위치 가변인수는 함수 정의부에서 인수를 선언할 때 인수 앞에 * 기호를 붙여
선언하며 이런 경우에 여러개의 데이터를 튜플로 묶어서 함수 내부로 전달한다.
'''
def add(*nums):
print(type(nums)) #<class 'tuple'>
print(nums) #(1, 2, 3, 4, 5)
add(1, 2, 3 ,4, 5)
'''
- 위치 가변인수는 콤마 이후의 인수를 모두 다 튜플로 묶어서 처리하기 때문에 일반 인수와 함께 사용할 때는
항상 마지막에 위치해야한다.
- 그 이유는 가변 인수뒤에 일반 인수가 있으면 전체를 모두 튜플로 묶어서 처리하기때문이다.
- 마찬가지로 하나의 함수에서 가변인수를 2개 이상 선언할 수 없다.
ex) def function(*asd, *ert) (x)
'''
print("-" * 40)
def calc_points(name, *points): # 다른 변수와 같이 쓸때 위치가변인수가 뒤에 와야된다.
print('%s 학생의 성적 계산...' % name)
sum = 0
for n in points:
sum += n
return sum
result = calc_points('이순신', 66, 77, 88, 99)
print(result) #330
'''
연습 1 n개의 정수를 입력받아 평균값을 구하여 리턴하는 함수를 작성
'''
def get_avg(*nums):
sum = 0
for n in nums:
sum += n
return sum / len(nums)
print('평균: %.2f점' %get_avg(11,12,13,14))
'''
연습 2 n개의 정수를 전달받아 가장 큰 숫자를 찾아 리턴하는 함수를 작성
'''