연습 문제
9.4. 연습 문제¶
두 숫자를 더하는 함수
add(a, b)
를 정의하고, 이 함수를 호출하여 결과를 출력하세요.def add(a, b): return a + b result = add(3, 5) print(result) # 출력: 8
이름을 입력받아 인사말을 출력하는 함수
greet(name)
를 정의하고, 이 함수를 호출하여 결과를 출력하세요.def greet(name): print(f"안녕하세요, {name}님!") greet("철수") # 출력: 안녕하세요, 철수님!
두 숫자를 곱하는 함수
multiply(a, b)
를 정의하고, 이 함수를 호출하여 결과를 반환받아 출력하세요.def multiply(a, b): return a * b result = multiply(4, 5) print(result) # 출력: 20
세 개의 숫자를 입력받아 그 중 가장 큰 수를 반환하는 함수
max_of_three(a, b, c)
를 정의하고, 이 함수를 호출하여 결과를 출력하세요.def max_of_three(a, b, c): if a > b and a > c: return a elif b > c: return b else: return c result = max_of_three(10, 20, 15) print(result) # 출력: 20
세 숫자를 더하는 람다 함수를 정의하고, 이를 호출하여 결과를 출력하세요.
add_three = lambda a, b, c: a + b + c result = add_three(1, 2, 3) print(result) # 출력: 6
주어진 리스트에서 짝수만 필터링하는 람다 함수를
filter()
함수와 함께 사용하여 결과를 출력하세요.numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] evens = list(filter(lambda x: x % 2 == 0, numbers)) print(evens) # 출력: [2, 4, 6, 8, 10]
주어진 리스트의 각 요소를 제곱한 값을 갖는 새로운 리스트를
map()
함수와 람다 함수를 사용하여 생성하고, 결과를 출력하세요.numbers = [1, 2, 3, 4, 5] squares = list(map(lambda x: x**2, numbers)) print(squares) # 출력: [1, 4, 9, 16, 25]
주어진 리스트의 요소들을 모두 더한 값을
reduce()
함수와 람다 함수를 사용하여 계산하고, 결과를 출력하세요.from functools import reduce numbers = [1, 2, 3, 4, 5] total = reduce(lambda x, y: x + y, numbers) print(total) # 출력: 15
사용자로부터 여러 개의 숫자를 입력받아 리스트로 저장하고, 이 리스트의 요소 중 짝수만 필터링하여 제곱한 값을 갖는 새로운 리스트를 생성하여 출력하는 프로그램을 작성하세요. 이때
input()
,filter()
,map()
, 람다 함수를 사용하세요.numbers = list(map(int, input("숫자를 입력하세요 (공백으로 구분): ").split())) evens_squared = list(map(lambda x: x**2, filter(lambda x: x % 2 == 0, numbers))) print(evens_squared)