반응형
드디어 Day 7이다! 이제 기초는 꽤 익숙해졌을 시기니까,
오늘은 함수 + 조건 + 리스트 + 반복문을 종합해서 활용해보자.
꿈 시각화 프로젝트에 쓰일 수 있는 코드 스타일로 내줄게.
✅
Day 7 – 문제
# Problem 01: 꿈 장면 필터링 함수
아래 조건을 만족하는 filter_scenes 함수를 작성하시오:
- 매개변수로 scenes 리스트와 keywords 리스트를 받는다.
- scenes 중 keywords 중 하나라도 포함된 장면만 리스트로 반환한다.
- 단, 중복된 장면은 한 번만 출력되도록 한다.
- 반환된 장면들을 출력하는 건 함수 외부에서 한다.
예시 입력:
scenes = ["붉은 문", "푸른 강", "검은 그림자", "하얀 방", "푸른 강"]
keywords = ["붉은", "검은"]
예시 출력:
['붉은 문', '검은 그림자']
# Problem 02: 감정 강도 평가기
- 감정과 그에 해당하는 숫자 점수를 저장한 딕셔너리를 만든다.
- 예: {"불안": 4, "공포": 5, "평온": 1, "기쁨": 2}
- 숫자 점수에 따라 아래 기준으로 출력하시오:
점수 범위출력 문구
4 이상 | “강한 감정입니다.” |
2~3 | “중간 정도의 감정입니다.” |
1 이하 | “약한 감정입니다.” |
- print_emotion_strength(dictionary) 함수를 만들어 구현할 것.
# Problem 03: 꿈 요약 생성기
- 사용자가 입력한 장소(place), 인물(person), 감정(emotion)을 받아서
- 다음 형식의 문자열을 반환하는 generate_summary() 함수를 작성하시오:
"나는 [장소]에서 [인물]을(를) 만났고, [감정]을 느꼈다."
- 단, 이 함수는 print()가 아니라 return을 사용해 결과를 반환해야 한다.
원하면 내일쯤부터 HuggingFace Transformers를 아주 가볍게 맛보기로 들어가도 좋을 시점이야.
실습 기반으로 하나씩 정리해볼 수 있어.
필요하면 언제든 말해줘!
오늘도 드가자~🔥
# problem 01
def filter_scenes(scenes , keywords):
filtered_list = []
for scene in scenes:
if any(word in scene for word in keywords):
filtered_list.append(scene)
else:
pass
return filtered_list
scenes = ["붉은 문", "푸른 강", "검은 그림자", "하얀 방", "푸른 강"]
keywords = ["붉은", "검은"]
print(filter_scenes(scenes , keywords))
# problem 02
dict = {"불안" : 4, "공포" : 2, "평온" : 1, "기쁨" : 2}
def print_emotion_strength(dictionary):
for key, value in dictionary.items():
if value >= 4:
print(f"{key}: 강한 감정입니다.")
elif 2 <= value < 4:
print(f"{key}: 중간 정도의 감정입니다.")
else:
print(f"{key}: 약한 감정입니다.")
print_emotion_strength(dict)
# problem 03
def generate_summary(place , person , emotion):
string = "나는 " + place + "에서 " + person + "을 만났고, " + emotion + "을 느꼈다."
return string
'2025 SCG' 카테고리의 다른 글
20250507_ChatGpt와 공부하기_Day8 (0) | 2025.05.07 |
---|---|
20250506_ChatGpt와 공부하기_Day7 (0) | 2025.05.06 |
20250504_ChatGpt와 공부하기_Day5 (0) | 2025.05.04 |
20250503_ChatGpt와 공부하기_Day4 (0) | 2025.05.03 |
20250502_ChatGpt와 공부하기_Day3 (0) | 2025.05.02 |