파이썬 for 문 사용법을 통해서 여러가지 리스트, 딕셔너리 및 활용법에 대해 정리하려 합니다. 반복문 특성상 코딩의 가독성을 높이고, 같은 행위를 반복하는 번거로움을 줄일 수 있습니다. 여러가지 예시를 병행하며 공부해서 익혀 보겠습니다. 그럼 시작해 볼까요?
[목차]
1. 파이썬 for 문 이란?
2. 파이썬 for 문 사용법
3. 파이썬 for 문 예시
1. 파이썬 for 문 이란?
for 문은 반복 작업을 위해 사용됩니다. for 문은 기본적으로 순회 가능한 객체를 받아들여 각 요소를 반복적으로 처리합니다. 예를 들어, 리스트 안에 있는 모든 요소를 출력하고 싶다면, for 문을 사용하여 각 요소를 반복적으로 처리할 수 있습니다. 또한, for 문을 사용하여 리스트 안의 요소를 변경하거나, 특정 조건을 만족하는 요소만 선택하여 처리할 수도 있습니다.
for 문은 프로그램에서 자주 사용되므로, 반복문의 기본 개념을 이해하고 사용하는 것이 중요합니다. 대표적으로 리스트, 튜플, 문자열 등이 있습니다. 파이썬에서 for 문은 다른 프로그래밍 언어의 for-each 구문과 유사합니다.
2. 파이썬 for 문 사용법
for문은 다음과 같은 구조를 가지고 있습니다.
for 요소 in 순회 가능한 객체:
실행할 코드
이 구조에서 '요소'는 반복적으로 처리되는 객체의 각 요소를 받아들이는 변수입니다. '순회 가능한 객체'는 리스트, 튜플, 문자열 등과 같이 요소가 여러 개인 객체를 의미합니다. '실행할 코드'는 각 요소를 처리하기 위한 코드를 작성합니다.
3. 파이썬 for 문 예시
- list (리스트) for 문
1) 과일을 순차적으로 출력
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
[실행화면]
2) 숫자를 순차적으로출력
my_list = [1, 2, 3, 4, 5]
for item in my_list:
print(item)
[실행화면]
3) 리스트 안에 모든 숫자를 꺼내서 합계값을 출력
numbers = [10, 20, 30, 40, 50]
total = 0
for num in numbers:
total += num
print("The sum is:", total)
[실행화면]
4) for 문, if 문 적용을 통해 가장 높은 숫자값 찾기
scores = [85, 92, 78, 90, 88]
max_score = scores[0]
for score in scores:
if score > max_score:
max_score = score
print("The maximum score is:", max_score)
[실행화면]
5) for 문, if 문 활용을 통해 짝수 값 출력하기
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = []
for num in numbers:
if num % 2 == 0:
even_numbers.append(num)
print("Even numbers:", even_numbers)
[실행화면]
- 문자열 for 문
1) 문자열 반복 및 각 문자 출력
my_string = "Hello, World!"
for char in my_string:
print(char)
[실행화면]
2) 문자열에서 특정 문자의 발생 횟수 계산
sentence = "She sells seashells by the seashore."
target_char = 's'
count = 0
for char in sentence:
if char == target_char:
count += 1
print("The character", target_char, "appears", count, "times.")
[실행화면]
3) for 문을 사용하여 문자열 반전
message = "Hello, World!"
reversed_message = ""
for i in range(len(message)-1, -1, -1):
reversed_message += message[i]
print("Reversed message:", reversed_message)
[실행화면]
4) 문자열이 회문인지 체크 프로그램
word = "radar"
is_palindrome = True
for i in range(len(word) // 2):
if word[i] != word[-i-1]:
is_palindrome = False
break
if is_palindrome:
print(word, "is a palindrome.")
else:
print(word, "is not a palindrome.")
[실행화면]
5) 문장의 단어 수 세기
sentence = "The quick brown fox jumps over the lazy dog."
word_count = 0
for word in sentence.split():
word_count += 1
print("Number of words:", word_count)
[실행화면]
- 딕셔너리 for 문
1) 딕셔너리 키, 값을 모두 불러오기
my_dict = {"name": "John", "age": 30, "city": "New York"}
for key, value in my_dict.items():
print(key, ":", value)
[실행화면]
2) 딕셔너리 내 모든 값 합계
prices = {"apple": 0.99, "banana": 0.59, "orange": 0.79}
total_price = 0
for price in prices.values():
total_price += price
print("Total price:", total_price)
[실행화면]
3) 딕셔너리 내 특정 값이 있는 키 찾기
students = {"Alice": 85, "Bob": 92, "Charlie": 78, "David": 90, "Eve": 88}
target_grade = 90
target_students = []
for name, grade in students.items():
if grade == target_grade:
target_students.append(name)
print("Students with", target_grade, "grade:", target_students)
[실행화면]
4) 필터링된 키, 값을 쌍으로 새로운 딕셔너리 만들기
numbers = {"one": 1, "two": 2, "three": 3, "four": 4, "five": 5}
filtered_numbers = {}
for word, value in numbers.items():
if value % 2 == 0:
filtered_numbers[word] = value
print("Filtered numbers:", filtered_numbers)
[실행화면]
5) 문자열의 문자 빈도 계산
my_string = "Hello, World!"
char_frequency = {}
for char in my_string:
if char not in char_frequency:
char_frequency[char] = 1
else:
char_frequency[char] += 1
print("Character frequency:", char_frequency)
[실행화면]
- for 문 Range 활용
1) 숫자 범위를 반복
for num in range(1, 6):
print(num)
[실행화면]
2) 범위에 있는 숫자의 합계 계산
total = 0
for num in range(1, 11):
total += num
print("The sum is:", total)
[실행화면]
3) 단계 값을 사용하여 범위에서 숫자 건너뛰기
for num in range(1, 11, 2):
print(num)
[실행화면]
4) 범위 반전 및 숫자를 내림차순 출력
for num in range(10, 0, -1):
print(num)
[실행화면]
5) 범위 및 목록 내포를 사용하여 제곱 숫자 목록 만들기
squared_numbers = [num ** 2 for num in range(1, 6)]
print("Squared numbers:", squared_numbers)
[실행화면]
- 중첩 for 문 (2개 이상 for 사용)
1) 중첩된 for 루프를 사용하여 구구단 생성
for i in range(1, 6):
for j in range(1, 6):
product = i * j
print(i, "x", j, "=", product)
print()
[실행화면]
2) 중첩된 for 루프를 사용하여 패턴 출력
for i in range(1, 6):
for j in range(i):
print("*", end=" ")
print()
[실행화면]
3) 중첩된 for 루프를 사용하여 두 목록 사이의 공통 요소 찾기
list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]
common_elements = []
for num1 in list1:
for num2 in list2:
if num1 == num2:
common_elements.append(num1)
print("Common elements:", common_elements)
[실행화면]
4) 중첩된 for 루프와 목록을 사용하여 행렬 만들기
matrix = []
for i in range(3):
row = []
for j in range(3):
row.append(i * 3 + j)
matrix.append(row)
print("Matrix:")
for row in matrix:
print(row)
[실행화면]
5) 중첩된 for 루프를 사용하여 주어진 범위 내에서 소수 찾기
start = 1
end = 20
prime_numbers = []
for num in range(start, end+1):
if num > 1:
for i in range(2, num):
if (num % i) == 0:
break
else:
prime_numbers.append(num)
print("Prime numbers:", prime_numbers)
[실행화면]
[관련글]
'파이썬 (pythoon)' 카테고리의 다른 글
SQL 자격증 중요성 및 유형, 과정, 시험 구성 (0) | 2023.06.12 |
---|---|
PyQt QWebEngineView 웹 브라우저 만들기 (0) | 2023.06.11 |
파이썬 split 함수 문자열 리스트 변환 (0) | 2023.05.26 |
파이썬 딕셔너리 (Dictionary) 정리 (0) | 2023.05.25 |
Tkinter ttk style - 테마, 버튼 디자인, 레이블 디자인 외 (0) | 2023.05.24 |