1. 조건문 if
2. 반복문 for
3. 반복문 while
📌 For 문 vs While 문
여러개의 자료가 담긴 것에서 하나씩 뽑아와서 사용할 때 어떤 상황이 계속 반복되는 것을 기본으로 하여
조건이 틀어지거나 조건을 빠져나오는 경우 (무한반복)
1.조건문 : if, elif(else if), else
프로그램의 흐름을 제어하는 중요한 요소
-if문 : 조건1 / elif문 : 조건2,3,4, ...
if문 : 조건이 True인경우에만 -> 특정 코드 블록을 실행하도록
elif문 : 개수제한 없이 사용 가능
***** 들여쓰기indent 일관성있게 *****
***** 콜론 : 있어야 *****
-> 조건문 실행 OK
if 조건:
# 조건이 참일 때 실행될 코드
elif 다른조건:
# 다른 조건이 참일 때 실행될 코드
else:
# 위의 조건이 모두 거짓일 때, 나머지 실행될 코드
x = 10
if x > 0:
print("양수입니다.")
elif x < 0:
print("음수입니다.")
else:
print("0입니다.")
*****들여쓰기 & 띄어쓰기 매우 중요*****
1-1. 연산자
- 비교연산자
- > : 초과
- < : 미만
- >= : 이상
- <= : 이하
- == : 같음
- != : 같지 않음
- 결합 연산자
- and : 모두 참일 때 참
- or : 하나 이상이 참일 때 참
- not : 조건이 거짓이면 참 (반대로 생각하기)
- += : 기존 값에 새로운 값 누적
- in 리스트, 튜플, 문자열 : 리스트, 튜플, 문자열에 변수 존재 여부
- not in : <> in
- in 구문에서 아무것도 실행하고 싶지 않다면? pass 쓰기
연산자 ex-
x = 10
if x > 0 and x % 2 == 0:
print("양의 짝수입니다.")
x % 2 == 0 : 나머지 를 구하는 연산자 = 2로 나누었을때 나머지는 0
짝수 구하기
x % 2 == 1 : 홀수 구하기
- 들여쓰기로 조건문 중첩 사용 가능
x = 10
if x > 0:
if x % 2 == 0:
print("양의 짝수입니다.")
else:
print("양의 홀수입니다.")
else:
print("음수 또는 0입니다.")
- 한 줄 간략하게 표현(Comprehension?)
x = 10
result = "양의 짝수" if x > 0 and x % 2 == 0 else "음수 또는 0"
print(result)
문자열의 경우 문자열 자체가 True
2-1.반복문 : for
반드시 반복할 데이터(list, tuple, "문자열 그 자체") 를 주고, 그 안에서 값을 가져와서 반복함
각 반복마다 현재 값을 가지는 변수
for 변수 in 반복할_데이터: # list, tuple, string ...
코드_블록
fruits = ["apple", "banana", "cherry"]
for a in fruits: -- fruits에 있는 것을 하나씩 빼서 a에 담기
print(a) # "apple", "banana", "cherry" 를 순서대로 출력
for letter in "hello":
print(letter) # "h","e", "l", "l", "o"를 순서대로 출력
range() : 범위지정, 슬라이싱과 비슷함
- 연속된 정수를 나열하는 데 사용되는 함수
= list를 길게 쓰기 힘드니까 range() 사용 - () 안의 숫자 전까지 출력
range(stop) # stop 할 숫자 전까지만 출력
range(start, stop)
range(start, stop, step)
range(시작값, 끝값, 간격)
for i in range(4+1):
print(i) # 0 ~ 4까지 출력
# 0부터 시작하여 5 이전까지의 정수 시퀀스 생성
for i in range(5):
print(i, end=' ') # 0 1 2 3 4
# 1부터 시작하여 10 이전까지 2씩 증가하는 정수 시퀀스 생성
for i in range(1, 10, 2):
print(i, end=' ') # 1 3 5 7 9
✅ end= '', end='' 란? 줄바꿈 없애기***
보통 print() 는 출력 후 자동으로 줄바꿈되서 나타남.
-> but end="" 를 사용하면 출력된 값들 사이에 공백이 들어가고,
줄바꿈이 없어서 값들이 같은 줄에 출력됨.
- 리스트의 슬라이싱 vs 반복문 for의 range()
리스트에서 값을 가져올 때 값을 반복해서 생성할 때
딕셔너리에서 반복문 사용할 때 : .items()
: key만 가져오기, value만 가져오기, ket+value (키, 값) 쌍으로 가져오기 .items()
person = {"name": "John", "age": 30, "city": "New York"}
for key, value in person.items():
print(key, " : ", value)
# 딕셔너리의 키와 값 쌍을 출력
name : John
age : 30
city : New York
✅ Dictionary = key 와 value를 짝지어 저장하는 상자
a = { key:value, key:value, key:value }
특히 딕셔너리.itmes() 를 사용하면 (key, value) 쌍을 가져올 수 있음
f" " 를 통해
for key, value in my_dict.items() :
print (f" 키: {key}, 값: {value} " )
✅ f-string , f "" f" 문자열 {변수} "
숫자를 직접 넣지 않고 반복해서 변수로 대체 가능케 함.
age = 10
print ( "나는 " + str(age) + "살이야") # 나는 10살이야
age = 10
print( f"나는 {age}살이야" )
조건문 if + 반복문 for
- 리스트에서 특정 값 걸러내기
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) # 빈 리스트에 .append()로 값 채워넣기
print(even_numbers) # [2, 4, 6, 8, 10] # 짝수만 담긴 리스트 출력
odd_numbers = []
for num in numbers:
if num % 2 == 1:
odd_numbers.append(num) # 빈 리스트에 .append()로 값 채워넣기
print(odd_numbers) # [1, 3, 5, 7, 9] # 홀수만 담긴 리스트 출력
- 조건문 & 반복문 복합적 활용
# 조건문과 반복문을 복합적으로 활용하여 구구단 출력
i = [0,1,2,3,4,5,6,7,8,9,10]
for i in range(0, 10):
print(f"{i}단:")
for j in range(0, 10):
print(i, "x", j, " = ", i * j)
#

- 문자열에서 특정 문자 제거하기
sentence = "Hello World"
result = ""
for char in sentence:
if char != "o":
result += char
# result = result + char ( 기존 값에 누적하여 다시 저장하는 연산자 += )
print(result) # 출력 : Hell wrld
1. 문자열을 변수에 저장
2. 빈 문자열을 저장할 변수 지정
3. in 뒤에 있는 변수에서 각 char(문자)를 반복해서 가져옴
4. 조건 지정 - char이 o가 아닐 때 실행해야함.
그 때 result에 해당 글자를 추가 result += char
5. 최종결과 print
✅ += : 더하고 그 결과를 값에 추가해서 다시 저장(더하고 나서 다시 변수에 저장)
ex - text = "i like"
text += " yellow"
print(text) # i like yellow
- 딕셔너리에서 특정 조건에 맞는 항목 출력하기
ages = {"John": 30, "Jane": 25, "Doe": 35, "Alice": 20}
for name, age in ages.items():
if age > 25:
print(name, " is older than 25")
1. ages = { name: age } 로 묶어진 key, value를 가진 딕셔너리.
2. ages라는 딕셔너리에서 name,age를 반복해서 가져올건데,
.items()를 쓰면 ages 딕셔너리에서 튜플(name,age) 리스트를 가져올 수 있음.
3. 근데 가져올 때 조건 if age>25 일때만(True) 가져와라.
4. name, "is older than 25" 로 print 해라.
-이중 for문 사용 가능
for i in range(2, 10):
for j in range(1, 10):
print(i, "x", j, "=", i*j)

# 평균 계산 예시
data = [10, 20, 30, 40, 50]
total = 0
for d in data:
total += d
mean = total / len(data)
print("Mean:", mean)
1. data 라는 리스트에 5개의 값이 들어있음.
2. total 이라는 변수의 초기값은 0
3. data 리스트에서 값을 반복해서 꺼내서 d에 저장하고, total은 d를 계속 더해서 저장하는 거야.
4. mean(평균) = total /나누기 len(data) : data리스트에 있는 요소의 개수(5개)
5. "Mean:" mean print 하기 (150/5) -> Mean: 30
# 모델 성능 평가 예시
true_values = [1, 0, 1, 0, 1]
predicted_values = [0, 0, 1, 0, 1]
correct_predictions = 0
for true, pred in zip(true_values, predicted_values):
if true == pred:
correct_predictions += 1
accuracy = correct_predictions / len(true_values)
print("Accuracy:", accuracy)
1. true_values, predicted_values 라는 리스트에 길이가 같은 값이 각각 5개들어있음.
2. 올바른 예상값의 초기값은 0이라고 설정.
3. true_values 와 predicted_values 를 합친 zip 리스트에서 값을 반복해서 꺼내서 true,pred에 저장할 것.
4. 여기서 if true == pred 동일하면 correct_predictions 에서 1을 계속해서 추가(누적)
5. 정확도 = correct_predictions /나누기 len(true_values)
6. 정확도 print하기
✅ zip(리스트1,리스트2) : 2개의 리스트를 짝지어 값을 하나씩 가져와서 튜플 만들기
2-2. 반복문 : while
조건을 만족할 때 까지 코드블록을 반복적으로 실행 (*무한반복 조심)
while의 조건은 T/F 로 반환 가능해야함
while 조건:
코드_블록
✅ 자주쓰는 표현
treehit = treehit +1
==
treehit += 1
treehit + 1 한 값이 다시 treehit에 들어간다.
i = 1
while i <= 5: --i가 5이하일 때
print(i) i를 출력한다
i += 1 -- i에 1을 계속해서 추가한다
user_input = ''
while user_input != 'quit':
user_input = input("Type 'quit' to exit: ")
print("You typed:", user_input)
1. user_input = ' ' <- [빈 문자열로 설정]
2. user_input이 'quit' 이 아니면 (참) -> 반복적으로 실행 [조건]
3. Type 'quit' to exit : 네모칸 으로 실행됨 -> input() 함수로 사용자가 계속 입력할 수 있게 만듦
입력값은 user_input에 저장
4. print( 입력값 ) 출력
5. 종료 조건 : quit을 입력하면 while문 종료 [브레이크]
📌무한루프 주의점 : 브레이크 걸어주기
break, pass, continue 같이 제어문을 만들어줘야 루프 종료 : Ctrl + C
- break : 반복문 강제 종료
- pass : 그냥 넘어가기 = 실행할 코드가 없으므로 돌아가는게 아니라 그냥 다음 행동 진행
- continue : 조건은 실행이 안되고 while문 처음으로 다시 돌아가기
- 조건에 따른 특정 동작 반복 : 5! (5팩토리) 구하기
num = 5
factorial = 1
while num > 0:
factorial *= num
num -= 1
print("Factorial of 5 is:", factorial)
1. 초기값 설정 : num = 5, factorial = 1
2. while문은 num이 0보다 클 때 반복
3. factorial * = num factorial*num = num
num - =1 num-1 = num
=> 1*5 = 5 5=num
5*4 = 20 20=num
20*3 = 60 60=num
60*2 = 120 120=num
120*1= 120
4. 결과 출력 print()
Quiz
1. 임의의 수를 변수에 넣고 그 변수에 입력된 수가 양수인지 음수인지 판별하여 결과를 출력하는 파이썬 코드를 작성해보세요.
(0은 양수로 간주합니다)
num = -2
if num >= 0 :
print("양수")
else : print("음수")
2. 1부터 10까지의 정수 중에서 홀수만을 포함하는 리스트를 생성하는 파이썬 코드를 작성해보세요.
odd_numbers = []
for a in range (1,11):
if a%2 == 1 :
odd_numbers.append(a)
print(odd_numbers)
빈 리스트 [ ] 를 만든 후 for... in range() 문 으로 연속된 숫자들 불러내기 -> 조건 건 후 -> .append() 로 리스트에 추가로 넣기
3.1부터 100까지의 정수 중에서 3의 배수일 때 "Fizz", 5의 배수일 때 "Buzz"를 출력하세요.
(나머지 경우에는 그냥 숫자를 출력합니다)
for i in range(1,101) :
if i %3 == 0 :
print("Fizz")
elif i % 5 == 0 :
print("Buzz")
else :
print(i)
'데이터 분석 > Python' 카테고리의 다른 글
| Python(4) : 함수 (0) | 2025.03.11 |
|---|---|
| Python 기초문법 라이브세션 : 코드 작성시 주의할 점 8가지 (1) | 2025.03.07 |
| Python (2) : list[ ], tuple( ), dictionary{ } (0) | 2025.03.05 |
| Python (1) : print, 변수, input (0) | 2025.03.05 |
| [TIL3] Python 기초 문법(2) (0) | 2025.02.19 |