첫 파이썬 강의는 2년 전.

편입하고 나서 문득, "혹시 내가 선생님이 하고 싶었던 게 아니라, 단순히 경험이 부족했던 건 아닐까?" 라는 물음표를 스스로에게 던졌던 날이 있었어요.

우리과와 복수전공을 가장 많이 하는 세 학과의 공통점을 찾아보니, 다들 컴퓨터공학 관련 분야더라고요.

그런데 우리 학교는 컴공으로 뭉뚱그려 있지 않고,
정보보안 / 소프트웨어공학 / 데이터사이언스 세 학과로 나뉘어져 있어서…

현실적인 고민 끝에, 정보보안과 소공은 도저히 엄두가 안 났고 😅

결국 DS학과에서 들을 수 있는 수업 2개를 수강해본 뒤,
바로 다가오는 방학에 컴퓨터 학원 등록!

그날, 처음으로 파이썬을 배웠어요 🐍

그때는 정말 "이게 뭔가?" 싶었는데,
지금은 그래도 제어문이 무섭진 않은 단계까지 왔습니다...! (자유자재로 쓴다고는 아직 못해요 ㅎ)

But!
곧 자유자재로 핸들링할 날이 머지 않았으니

👉 앞으로의 성장기, 많은 관심 부탁드립니다 💻❤️


1. 조건문 (if)

특정 조건을 검사하여 그 조건에 따라 다른 코드를 실행하도록 하는 구문

if, elif, else 키워드를 사용하여 조건문을 작성

프로그램의 흐름을 제어 

 

1. 기본 구조

if 조건:
    실행할 코드
elif 조건:
    실행할 코드
else:
    실행할 코드

2. 작동 원리

  • if: 조건이 참이면 해당 블록 실행.
  • elif: 위 조건이 모두 거짓일 때 새로운 조건을 검사.
  • else: 모든 조건이 거짓일 때 실행.

(2) 조건문 예제

1. 기본 사용법

x = 10

if x > 5:
    print("x는 5보다 큽니다.")  # 출력됨
elif x == 5:
    print("x는 5입니다.")
else:
    print("x는 5보다 작습니다.") // x는 5보다 큽니다.

 

2. 중첩 조건문

#RuleBase라고 함 
x = 13

if x > 10:
    if x % 2 == 0: ## 나머지가 0인거 = 짝수인지 확인하려고 
        print("x는 10보다 크고 짝수입니다.")
    else:
        print("x는 10보다 크고 홀수입니다.")
else:
    print("x는 10 이하입니다.") // x는 10보다 크고 홀수입니다.

 

3. 조건문

age = 26
is_student = False

if age < 18 or is_student:
    print("할인이 적용됩니다.")  # 출력됨
else:
    print("할인이 적용되지 않습니다.") //할인이 적용되지 않습니다.

 

(3) 조건문과 자주 사용되는 함수

1. input()

사용자로부터 입력을 받아 조건을 검사할 때 자주 사용됩니다.

 

age = int(input("나이를 입력하세요: "))

if age >= 18:
    print("성인입니다.")
else:
    print("미성년자입니다.")

 

2. len()

문자열이나 리스트의 길이(크)를 조건으로 사용할 수 있습니다.

#다른 예. 리뷰가 50글자 이상인것만 
password = "abc12345"

if len(password) >= 6:
    print("비밀번호가 유효합니다.")
else:
    print("비밀번호는 최소 6자 이상이어야 합니다.")

 

 


(4) 비교연산자

조건문에 값을 비교할 때 사용

표현파이썬 코드

a와 b가 같다 a == b
a와 b가 같지 않다 a != b
a가 b보다 작다 a < b
a가 b보다 작거나 같다 a <= b
a가 b보다 크다 a > b
a가 b보다 크거나 같다 a >= b

 

 

a = 1
b = 3

print(a == b)  # False
print(a != b)  # True

print(a < b)   # True
print(a <= b)  # True

print(a > b)   # False
print(a >= b)  # False

 

(5) and, or 연산자

만약에 조건이 2가지 이상인 경우에는?

money = 50000
bus = False #비행기표가 없는거임 

# if money >= 50000 and bus:
#     print("비행기를 타세요.")
# elif money >= 100000 or bus:
#     print("고속버스를 타세요.")


if money>= 50000:
    if bus == True:
        print('고속버스를 타세요')
    elif bus == False:
        print('기차를 타세요')
else:
    print("걸어가세요")

 

2. 반복문 (for, while)

: 반복되는 행위를 할 때 사용

# 단 두 줄로 해결이 가능
for i in range(10):
    print("meanji is 9월 취뽀", i) 
 
 
 '''
meanji is 9월 취뽀 0
meanji is 9월 취뽀 1
meanji is 9월 취뽀 2
meanji is 9월 취뽀 3
meanji is 9월 취뽀 4
meanji is 9월 취뽀 5
meanji is 9월 취뽀 6
meanji is 9월 취뽀 7
meanji is 9월 취뽀 8
meanji is 9월 취뽀 9
'''

-> 이런 예 사용하면 되게 자기애 강해보이는데  저는 말하는 힘을 믿어요 ✨ 

for문의 기본 형태

for 변수 in 리스트(또는 튜플, 문자열):
    실행할 문장1

 

(1) for 반복문

for 반복문은 시퀀스(리스트, 문자열, 튜플 등)의 각 요소를 순차적으로 가져와 작업을 수행합니다.

for 변수 in 시퀀스:
    실행할 코드

 

리스트

fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)
    
    if fruit  == 'banana':
        print('원숭이')
        
'''
apple
banana
원숭이
cherry
'''

 

range()

for i in range(5): # 숫자(0부터 5미만)
    print(i)

# for i in range() 이거를 기계적으로 외워자자 
''' 
0
1
2
3
4
'''

 

문자열

text = "meanji 취뽀 9월"
for char in text:
    print(char) 
    
''' 
m
e
a
n
j
i
 
취
뽀
 
9
월

'''

 

(2) while 반복문

  • while 문은 조건이 참(True)인 동안 코드를 반복 실행합니다.
  • while 조건: 실행할 코드
num = 0
while num < 5:
#while True:
    #print('실행') # 무한루프에 빠지게 됨 why? 항상 참이니까 

    num = num + 1 
    print('num 값: ', num) #num가 5가 되는 순간 멈춤 
#while문을 사용할때 조건의 관리가 꼭 필요함 

''' 
num 값:  1
num 값:  2
num 값:  3
num 값:  4
num 값:  5
'''

 

num = 0
while num < 5:
#while True:
    #print('실행') # 무한루프에 빠지게 됨 why? 항상 참이니까 
    print('num 값: ', num) 
    num = num + 1 
#이렇게 순서를 바꾸면 01234가 됨  
'''
num 값:  0
num 값:  1
num 값:  2
num 값:  3
num 값:  4
''' 

for i in range(5):
    print(i) 

#이게 바로 위에 코드와 같음 
'''
0
1
2
3
4
'''

 

count = 10
while count < 3: 
    print('이코드는 실행되지 않습니다.') # 아예 실행되지 않음

 

(3) 반복문에서 자주 사용되는 키워드

1. break

  • break는 반복문을 즉시 종료합니다.
for i in range(5):
    if i == 3:
        break # 멈춰서 4가 표현이 안되고 
    print(i)
    
    
'''
0
1
2
'''

 

 

for i in range(5):
    if i == 3:
        continue # i=3을 만났을때 여기서 멈춰라는 뜻으로 3에서 넘어가니까 4로 표현되는거임 
    print(i) 
    
''' 
0
1
2
4
'''

 

2. continue

  • continue는 현재 반복을 건너뛰고, 다음 반복으로 넘어갑니다. 
for i in range(6):
    if i == 3:
        continue
    print(i)
    
''' 
0
1
2
4
5
'''

3. pass

  • pass는 아무 작업도 하지 않고 반복문을 유지합니다.
for i in range(5):
    if i == 3:
        pass # todo: 여기서부터
    print(i) 
    
''' 
0
1
2
3
4
'''

 

(4) 반복문에서 자주 사용되는 함수

1. range(start, stop, step)

  • 숫자 범위를 생성하며, 시작값(start), 끝값(stop), 증가값(step)을 지정할 수 있습니다.
for i in range(1, 10, 2):
    print(i)
''' 
1
3
5
7
9
'''

 

2. enumerate() - 열거하다, 나열하다

  • 리스트나 문자열을 순회하며 인덱스와 값을 동시에 가져옵니다.
fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)
    
 ''' 
 apple
banana
cherry
'''

# 이방식도 많이 사용함 기억해두기 
fruits = ["apple", "banana", "cherry"]

for index, fruit in enumerate(fruits): # 몇번째에 들어있는 데이터인지 확인가능함
    print(index, fruit)
    
'''
0 apple
1 banana
2 cherry
'''

 

3. zip()

  • 여러 시퀀스를 동시에 순회합니다. 

 

names = ["meanji", "Zoa", "쩡유"]
ages = [26, 25, 27]

for name, age in zip(names, ages):
    print(f"{name} is {age} years old.")
 
 ''' 
 meanji is 26 years old.
Zoa is 25 years old.
쩡유 is 27 years old.
'''

 

 


4. reversed()

  • 리스트나 문자열을 역순으로 순회합니다. 
  •  
for char in reversed([1,100,3,80,5]): #순서를 보장하는 것이 아님, 단순히 뒤집어주는거임
    print(char)
    
''' 
5
80
3
100
1
''' 

for char in sorted (reversed([1,100,3,80,5])): #순서를 보장하는 것이 아님, 단순히 뒤집어주는거임
    print(char)
    
''' 
1
3
5
80
100
''' 
for char in [1,2,3,4,5][::-1]: #reversed 와 동일한거임 
    print(char)

''' 
5
4
3
2
1
'''

 

# 강사님 Divide and Conquer
# 1. 1부터 20까지 나타내자
# 2. 조건을 통해 짝수만 걸러내자 

for i in range(1,21):
    if i % 2 == 0: 
        print('짝수 : ', i ) 

=> 수업 때 강사님이 알려주신 Divide and Conquer!
며칠 전 정처기 필기 공부할 때도 나왔던 개념이라 두 흐름이 딱 맞아떨어지는 순간, 소소한 재미 포인트임  ♠

 

 

 

+ Recent posts