중첩루프란 무엇인가?
•
중첩루프 이해하기
•
중첩루프 코드 뜯어 이해하기
•
중첩루프의 작동 원리 이해하기
•
중첩루프로 다양한 별 그리기
리스트와 튜플 응용
•
리스트의 기본 조작어 배우기
◦
추가, 삭제, 정렬, 뒤집기, 슬라이싱, 할당, 복사,
•
for 문을 이용한 리스트 접근법
•
(튜플도 동일하게 적용)
리스트 표현식 (list comprehension)
•
리스트 표현식의 이해
•
리스트 표현식 코드 뜯어 이해하기
•
리스트 표현식 안에 if문
•
리스트 표현식 안에 map, split 사용
수업 예시 코드
# 예시 코드
# while 문을 이용해서 만들어 보기!
i = 0
while i < len(ab):
j = 0
while j < len(ab[i]):
print(ab[i][j], end=' ')
j +=1
print()
i +=1
# 복습도 수업과정 그대로 복붙이 아니라 조금씩 바꿔보면서 코드를 이해하고, 원리를 이해해야 합니다.
#for range 가지고 ab 다 불러오기
for i in range(len(ab)):
for j in ab[i]:
print(j, end=' ')
print()
# 곱셈 표 생성
for i in range(1, 6):
for j in range(1, 11):
result = i * j
print(f"{i} * {j} = {result}", end="\t")
print()
# 중첩루프를 이용해 별그리기
row = 1
while row <= 5:
col = 1
while col <= row:
print("*", end=" ")
col += 1
print()
row += 1
# 조건에 따라 요소 필터링
scores = [92, 88, 94, 78, 90, 85, 88, 96, 89, 82]
passing_scores = [score for score in scores if score >= 80]
scaled_scores = [score * 1.1 for score in scores] # 각 요소에 함수 적용
average_score = sum(scores) / len(scores) # 평균 점수 계산
sorted_scores_asc = sorted(scores) # 리스트 정렬
scores.reverse() # 리스트 뒤집기
# 특정 값 제거 (예: 모든 88 제거)
scores_without_88 = [score for score in scores if score != 88]
# 리스트를 튜플의 리스트로 묶기
names = ['Alice', 'Bob', 'Charlie', 'David']
ages = [25, 30, 22, 35]
salaries = [60000, 80000, 55000, 90000]
employee_data = list(zip(names, ages, salaries))
# 조건에 따라 튜플 필터링
filtered_employees = [(name, age) for name, age, salary in employee_data if salary > 60000]
# 나이를 기준으로 튜플 내림차순 정렬
sorted_employees = sorted(employee_data, key=lambda x: x[1], reverse=True)
# 정렬된 튜플을 각각의 리스트로 풀기
sorted_names, sorted_ages, sorted_salaries = zip(*sorted_employees)
# 리스트 컴프리헨션(split)
text = "Python문법은 간결합니다."
word_lengths = [len(word) for word in text.split()] # 각 단어의 길이를 구하기
# 각 단어의 첫 글자를 대문자로 변환하기
capitalized_words = [word.capitalize() for word in text.split()]
# 각 단어의 마지막 글자만 추출하기
last_letters = [word[-1] for word in text.split()]
# 리스트 컴프리헨션(map)
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x**2, numbers)) # 각 숫자를 제곱하기
string_numbers = list(map(str, numbers)) # 각 숫자를 문자열로 변환하기
numbers_plus_ten = list(map(lambda x: x + 10, numbers)) # 각 숫자에 10을 더하기
Python
복사