[Python] 파이썬 조건문과 반복문: 제어 구조와 반복적인 작업
조건문과 반복문은 프로그래밍에서 핵심적인 개념 중 하나입니다. 이 글에서는 파이썬을 사용하여 조건문과 반복문의 기본 원리부터 활용까지 살펴보겠습니다. 파이썬의 조건문과 반복문을 잘 이해하면 다양한 프로그래밍 과제를 해결하는 데 큰 도움이 됩니다.
파이썬의 조건문
조건문은 특정 조건이 참인지 거짓인지에 따라 코드의 실행 흐름을 제어하는 구조입니다.
파이썬에서는 if, elif, else 키워드를 사용하여 조건문을 작성합니다.
1
2
3
4
5
6
7
|
x = 10
if x > 0:
print("x is positive")
elif x < 0:
print("x is negative")
else:
print("x is zero")
|
비교 연산자
- == : 같다
- != : 같지 않다
- > : 크다
- < : 작다
- >= : 크거나 같다
- <= : 작거나 같다
논리 연산자
- and : 논리 AND 연산 (모든 조건이 참이어야 참)
- or : 논리 OR 연산 (하나 이상의 조건이 참이면 참)
- not : 논리 NOT 연산 (조건을 반대로 뒤집음)
1
2
3
4
|
# 비교 연산자와 논리 연산자 사용
age = 25
if age >= 18 and age <= 35:
print("18세 이상 35세 이하의 나이입니다.")
|
파이썬의 반복문
반복문은 동일한 동작을 여러 번 수행해야 할 때 사용됩니다.
예를 들어, 리스트의 모든 요소를 순회하거나, 특정 조건이 만족될 때까지 동작을 반복하는 등의 경우에 반복문을 사용할 수 있습니다.
파이썬에서는 for와 while 키워드를 사용하여 반복문을 작성합니다.
■ for 반복문
for 반복문은 시퀀스(리스트, 튜플, 문자열 등)의 각 요소를 순서대로 가져와 반복 작업을 수행합니다.
1
2
3
|
fruits = ["사과", "바나나", "딸기"]
for fruit in fruits:
print(fruit)
|
위 코드는 fruits 리스트의 각 항목들을 순서대로 출력합니다.
1
2
3
4
5
6
|
# numbers 리스트의 항목을 모두 더하여 합계를 계산하고 출력합니다.
numbers = [1, 2, 3, 4, 5]
sum = 0
for num in numbers:
sum += num
print(f"리스트 합계: {sum}") # 리스트 합계: 15
|
■ while 반복문
while 반복문은 주어진 조건이 참일 때 계속 반복합니다. 조건이 거짓이 될 때까지 반복 작업을 수행합니다.
1
2
3
4
|
count = 0
while count < 5:
print(count)
count += 1
|
위 코드는 count 변수가 5보다 작을 때까지 count 값을 출력하고 1씩 증가시킵니다.
(연습문제) 파이썬 조건문
1. 학생의 점수를 입력받아 아래의 기준에 따라 성적을 매기는 프로그램을 작성하세요.
- 90 이상: A+
- 80 이상 90 미만: A
- 70 이상 80 미만: B
- 60 이상 70 미만: C
- 60 미만: F
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
score = float(input("점수를 입력하세요: "))
if score >= 90:
grade = "A+"
elif score >= 80:
grade = "A"
elif score >= 70:
grade = "B"
elif score >= 60:
grade = "C"
else:
grade = "F"
print(f"성적은 {grade} 입니다.")
|
2. 사용자로부터 아이디와 패스워드를 입력받아, 다음과 같은 조건을 만족하면 로그인을 성공하고 그렇지 않으면 실패하는 로그인 시스템을 작성하세요.
- 아이디가 "admin"이고 패스워드가 "password"인 경우에만 로그인 성공
1
2
3
4
5
6
7
|
username = input("아이디를 입력하세요: ")
password = input("패스워드를 입력하세요: ")
if username == "admin" and password == "password":
print("로그인 성공")
else:
print("로그인 실패")
|
3. 사용자로부터 정수를 입력받아, 입력된 숫자가 홀수인지 짝수인지 판별하는 프로그램을 작성하세요.
1
2
3
4
5
6
|
number = int(input("정수를 입력하세요: "))
if number % 2 == 0:
print("짝수입니다.")
else:
print("홀수입니다.")
|
4. 세 개의 숫자를 입력받아, 이 중에서 가장 큰 숫자를 찾는 프로그램을 작성하세요.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
num1 = float(input("첫 번째 숫자를 입력하세요: "))
num2 = float(input("두 번째 숫자를 입력하세요: "))
num3 = float(input("세 번째 숫자를 입력하세요: "))
max_num = num1
if num2 > max_num:
max_num = num2
if num3 > max_num:
max_num = num3
print(f"가장 큰 숫자는 {max_num} 입니다.")
|
(연습문제) 파이썬 반복문
1. 1부터 10까지의 숫자를 출력하세요.
1
2
|
for i in range(1, 11):
print(i)
|
2. 2단부터 9단까지의 구구단을 출력하세요.
1
2
3
4
|
for i in range(2, 10):
print(f"{i}단")
for j in range(1, 10):
print(f"{i} x {j} = {i * j}")
|
3. 1부터 100까지의 홀수의 합을 계산하세요.
1
2
3
4
5
|
odd_sum = 0
for i in range(1, 101, 2):
odd_sum += i
print("1부터 100까지 홀수의 합:", odd_sum)
|
4. 사용자로부터 정수를 입력받아 해당 숫자의 팩토리얼을 계산하세요.
1
2
3
4
5
6
7
|
n = int(input("정수를 입력하세요: "))
factorial = 1
for i in range(1, n + 1):
factorial *= i
print(f"{n}의 팩토리얼은 {factorial}입니다.")
|
5. 사용자로부터 정수를 입력받아, 그 숫자가 소수인지 아닌지 판별하세요.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
num = int(input("정수를 입력하세요: "))
if num < 2:
is_prime = False
else:
is_prime = True
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
is_prime = False
break
if is_prime:
print(f"{num}은(는) 소수입니다.")
else:
print(f"{num}은(는) 소수가 아닙니다.")
|
#파이썬 #프로그래밍 #코딩 #조건문 #반복문 #데이터분석 #파이썬 if문 #파이썬 for문 #파이썬 while문 #파이썬 연습문제
'Data & Programming > Python' 카테고리의 다른 글
[Python] 파이썬의 오류(Error)와 예외처리(Exception Handling) (197) | 2023.09.19 |
---|---|
[Python] 파이썬 함수와 클래스: 모듈화와 객체지향 프로그래밍의 핵심 (203) | 2023.09.18 |
[Python] 파이썬의 자료구조 : 튜플, 리스트, 딕셔너리 (199) | 2023.09.16 |
[Python] 파이썬(Python)과 주요 라이브러리 설치방법 (1) | 2023.08.02 |
[Python] 파이썬(Python)을 공부해야 하는 이유 (0) | 2023.07.29 |