2024. 7. 16. 11:26ㆍ정보처리,전산/Python
def calc(check, *values):
if check:
total_sum = 0
squares_sum = 0
for value in values:
total_sum += value
squares_sum += value ** 2
return total_sum, squares_sum, set(values), check
else:
unique_values = list(set(values))
squares = [value ** 2 for value in unique_values]
return unique_values, squares
k = calc(1, 2, 3, 4, 5, 6, 7, 8, 9)
print("When check is True:", k)
k = calc(0, 2, 3, 4, 5, 6, 7, 8, 9)
print("When check is False:", k)
1. check 값이 참이면 숫자들의 합을 구하고, 각 숫자의 제곱의 합도 구해서 반환한다.
2. check 값이 거짓이면 고유한 값들의 리스트와 각 값의 제곱을 리스트로 반환한다.
Function Definition and Parameters
1. Function Definition:
- 함수 c는 check와 가변 길이 인수 values를 인수로 받는다.
2. Parameters:
- check: 함수의 동작을 결정하는 플래그 값이다.
- *values: 가변 길이 인수로 전달된 값들이 values 튜플로 저장된다.
Function Body
3. Conditional Logic:
- if check:: check가 참이면 아래의 동작을 수행한다.
- total_sum과 squares_sum 변수를 초기화한다.
- 반복문을 통해 values의 각 값을 더하고, 각 값의 제곱을 더한다.
- 결과로 total_sum, squares_sum, 고유한 값들의 집합(set(values)), 그리고 check를 반환한다.
- else:: check가 거짓이면 아래의 동작을 수행한다.
- unique_values는 values의 고유한 값들의 리스트이다.
- 각 값의 제곱을 계산하여 squares 리스트를 만든다.
- 결과로 unique_values와 squares 리스트를 반환한다.
Function Call and Output
4. Function Call (When check is True):
- k = calc(1, 2, 3, 4, 5, 6, 7, 8, 9): check가 1로 설정되고, 숫자 2부터 9까지 values로 전달된다.
- total_sum은 2부터 9까지의 합으로 44이다.
- squares_sum은 각 숫자의 제곱의 합으로 \(2^2 + 3^2 + 4^2 + 5^2 + 6^2 + 7^2 + 8^2 + 9^2 = 284\)이다.
- set(values)는 {2, 3, 4, 5, 6, 7, 8, 9}이다.
- check는 1이다.
- 결과: (44, 284, {2, 3, 4, 5, 6, 7, 8, 9}, 1)
5. Function Call (When check is False):
- k = calc(0, 2, 3, 4, 5, 6, 7, 8, 9): check가 0으로 설정되고, 숫자 2부터 9까지 values로 전달된다.
- unique_values는 [2, 3, 4, 5, 6, 7, 8, 9]이다.
- squares는 각 값의 제곱을 계산한 리스트로 [4, 9, 16, 25, 36, 49, 64, 81]이다.
- 결과: ([2, 3, 4, 5, 6, 7, 8, 9], [4, 9, 16, 25, 36, 49, 64, 81])
check 값에 따라 반환되는 값들이 달라지며, 각각의 경우에 대해 필요한 계산을 수행하여 반환한다.
When check is True: (44, 284, {2, 3, 4, 5, 6, 7, 8, 9}, 1)
When check is False: ([2, 3, 4, 5, 6, 7, 8, 9], [4, 9, 16, 25, 36, 49, 64, 81])
'정보처리,전산 > Python' 카테고리의 다른 글
부동소수점 연산의 한계 (0) | 2024.08.17 |
---|---|
스크래핑 테이블 헤더를 key 리스트에 받기. (0) | 2024.08.10 |
list set의 값 비교 (0) | 2024.07.08 |
list 자료형의 for 문 요소 출력 (0) | 2024.07.08 |
LIST 데이터 조작 index(), reverse() (0) | 2024.07.08 |