안녕하세요! 오늘은 본캠프 12일차입니다! 이제 2주차 지나고 3주차인데 벌써 집중력이 흐트러지는 것 같아요 큐큐
오늘은 개인과제 제출날이었습니다!
Level. 1 : 필수! Python 문법 단답형 문제
빈칸 채우기 문제입니다!
문제 1-1 : 변수와 자료형
# 1-1
# 다음 코드는 변수를 선언하고 값을 저장하는 문제입니다.
# 빈칸에 들어갈 코드를 완성하세요!
greeting = "Hello, Python" # 변수 greeting에 문자열 저장
age = 42 # 변수 age에 정수 저장
print(greeting)
print(age)
문제 1-2 : 리스트
# 1-2 : 리스트
# 다음 코드는 리스트에 새로운 요소를 추가하고, 특정 요소를 출력하는 문제입니다.
# 빈칸에 들어갈 코드를 완성하세요!
colors = ["red", "green"]
colors.append("blue") # 리스트에 "blue" 추가
print(colors[1]) # "green"이 출력되도록 하세요
# 1-2
# 다음 코드는 리스트의 첫 3개 요소를 출력하는 문제입니다.
# 슬라이싱을 이용해 빈칸을 완성하세요.
numbers = [10, 20, 30, 40, 50]
print(numbers[0:3]) # 출력: [10, 20, 30]
문제 1-3 : 딕셔너리
# 1-3
# 다음 코드는 딕셔너리에 새로운 값을 추가하고, 기존 값을 출력하는 문제입니다.
# 빈칸에 들어갈 코드를 완성하세요!
student = {"name": "Alice", "age": 20}
student["grade"] = 2 # 학년 정보를 추가하세요
print(student["name"]) # "Alice" 출력
문제 1-4 : 조건문
# 1-4
# 다음 코드는 점수 x의 값에 따라 성적 등급을 출력하는 문제입니다.
# 조건에 맞게 조건문 구조와 조건식을 완성하세요.
# 조건
# - 90 이상: A
# - 80 이상 90 미만: B
# - 70 이상 80 미만: C
# - 60 이상 70 미만: D
# - 그 외: F
x = 75
if x >= 90:
print("A")
elif x >= 80 and x < 90:
print("B")
elif x >= 70 and x < 80:
print("C")
elif x >= 60 and x < 70:
print("D")
else:
print("F")
문제 1-5 : 반복문
# 1-5
# 다음 코드는 구구단 2단을 출력하는 문제입니다.
# range()를 활용하여 빈칸을 완성하세요!
for i in range(1,10):
print("2 x", i, "=", 2 * i)
# 출력 예시:
# 2 x 1 = 2
# 2 x 2 = 4
# ...
# 2 x 9 = 18
문제 1-6 : 함수
# 1-6
# [문제 설명]
# 다음 코드는 사용자 이름을 입력받아 인사를 출력하는 함수입니다.
# 만약 사용자 이름이 "Admin"이면 "데이터 분석 관리자님, 시스템에 접속하셨습니다."라고
# 출력하고,
# 그렇지 않으면 "환영합니다, ○○○ 분석가님!" 형식으로 인사합니다.
# 아래 코드의 빈칸( ___ )을 알맞게 채우세요.
def name(user_name): # [1] 함수 이름을 작성하세요(자유롭게)
if user_name == "Admin": # [2] "Admin"일 때를 조건으로 작성하세요
print("데이터 분석 관리자님, 시스템에 접속하셨습니다.")
else:
print("환영합니다, " + user_name + " 분석가님!") # [3] 이름을 포함한 일반 인사 출력
name("Admin") # [4] 함수를 호출하세요(Admin 을 넣어주세요)
name("Alice") # [5] 함수를 호출하세요
문제 1-7 : 혼합 문제
# 1-7
# [문제 설명]
# 다음 코드는 리스트에서 짝수이면서 3보다 큰 수만 출력하는 코드입니다.
# 반복문과 조건문에서 빈칸을 채워 완성하세요.
numbers = [1, 2, 3, 4, 5, 6, 7]
for num in numbers: # [1] 반복문 작성
if num % 3 == 0 and num > 3: # [2] 조건문 작성
print(num) # [3] 출력문 작성
Level. 2 : 필수! Python 문법 서술형 문제
문제 2-1 : 숫자 리스트의 평균을 계산하는 방법
# 2-1
numbers = [10, 20, 30, 40, 50]
def calculate_avg(numbers):
total = sum(numbers)
total_avg = total / len(numbers)
return total_avg
total_avg = calculate_avg(numbers)
print("숫자들의 평균:", total_avg)
문제 2-2 : 최고 온도와 최저 온도 간 온도차를 구하는 함수 작성
# 2-2
numbers = [10, 20, 30, 40, 50]
def calculate_diff_temperature(numbers):
max_temp = max(numbers)
min_temp = min(numbers)
diff_temp = max(numbers) - min(numbers)
return diff_temp
diff_temp= calculate_diff_temperature(numbers)
print("온도차:", diff_temp)
문제 2-3 : 특정 개수 이상의 데이터의 합 구하기
# 2-3
def calculate_range_total(production_counts, min_value):
range_total = 0
for count in production_counts:
if count >= min_value:
range_total += count
return range_total
# 예시 데이터
production_counts = [100, 150, 120, 130, 110, 180, 140]
range_total = calculate_range_total(production_counts, 110)
print("특정 수량 이상 생산한 날의 생산 수량 합:", range_total)
# 실행 결과
#특정 수량 이상 생산한 날의 생산 수량 합: 830
문제 2-4 : 가장 많이 판매된 제품의 이름과 수량을 반환하는 함수 작성
# 2-4
def find_top_seller(sales_data):
top_product = ""
max_sales = 0
for product, sales in sales_data.items():
if sales > max_sales:
top_product = product
max_sales = sales
return top_product, max_sales
# 예시 데이터
sales_data = {
"Motherboard": 50,
"SSD": 2,
"Graphics Card": 30
}
print("가장 많이 판매된 제품과 수량 :", find_top_seller(sales_data))
# 실행 결과
#가장 많이 판매된 제품과 수량 : ('Motherboard', 50)
문제 2-5 : 공정 데이터에서 짝수 품번 필터링하기 (List Comprehension 활용)
# 2-5
# [문제 설명]
# 다음 코드는 리스트 컴프리헨션을 사용하여 짝수만 추출한 새로운 리스트를 만드는 코드
# 아래 빈칸을 채워 코드를 완성하세요.
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [
num # 리스트에 담을 요소
for num in numbers
if num % 2 == 0 # 짝수 조건
]
print(even_numbers)
Level. 3 : 도전! Python 완전 정복
문제 3-1 : 무게 데이터 단위 표준화
# 3-1
def normalize_weights(weight_list):
for weight in weight_list:
if "kg" in weight:
value = float(weight.replace("kg",""))
grams = int(value * 1000)
elif "g" in weight:
grams = int(weight.replace("g", ""))
print(f"{grams}g")
# 제품 무게 리스트
weight_list = ["0.5kg", "500g", "1kg", "750g", "2kg"]
# 단위 통일 실행
normalize_weights(weight_list)
문제 3-2 : 혼합된 설비 코드를 전처리하는 프로그램 구현
#3-2
def equipment_code_decoder(code_list):
han_to_num = {"영":"0", "일":"1", "이":"2", "삼":"3", "사":"4", "오":"5", "육":"6", "칠":"7", "팔":"8", "구":"9"}
for code in code_list:
converted_code = ""
for char in code:
if char in han_to_num:
converted_code += han_to_num[char]
else:
converted_code += char
print(f"[{code}]에 대한 설비 코드는 [{converted_code}]입니다.")
# 설비 코드 목록
code_list = [
"삼5이사",
"0오6칠",
"48삼구",
"이74팔",
"9일이삼"
]
# 코드 변환 함수 실행
equipment_code_decoder(code_list)
문제 3-3 : 공장 환경에서 이동 데이터를 활용해 장비의 효율성 평가
#3-3
import math
# 장비별 이동 거리 계산 함수
def calculate_single_distance(machine_positions):
for machine, positions in machine_positions.items():
# 위치는 항상 두 개의 좌표만 제공됨
x1, y1 = positions[0]
x2, y2 = positions[-1]
distance = math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)
print(f"{machine}의 이동 거리: {distance:.2f} 미터")
# 장비별 위치 데이터
machine_positions = {
"Machine A": [(0, 0), (5, 5)],
"Machine B": [(2, 2), (6, 8)],
"Machine C": [(0, 0), (3, 4)]
}
# 이동 거리 계산 실행
calculate_single_distance(machine_positions)
2단계에서 2문제 빼고는 어찌저찌 풀고 2문제는 튜터님의 도움을 받아 해결했습니다 😅
3단계는 너모 어렵네용..
빨리 익숙해지길..
오늘도 수고하셨습니다~!~!~!
'2025 내일배움캠프 QAQC_2기' 카테고리의 다른 글
| 2025 내일배움캠프 QAQC_2기 본캠프 14일차 (0) | 2025.05.29 |
|---|---|
| 2025 내일배움캠프 QAQC_2기 본캠프 13일차 (1) | 2025.05.28 |
| 2025 내일배움캠프 QAQC_2기 본캠프 11일차 (1) | 2025.05.26 |
| 2025 내일배움캠프 QAQC_2기 본캠프 10일차 (0) | 2025.05.23 |
| 2025 내일배움캠프 QAQC_2기 본캠프 9일차 (0) | 2025.05.22 |