본문 바로가기

💻 Python/🔎기초 Python

3. 파이썬 프로그래밍의 기본 구조(연산자, 조건문, 반복문)

3. 파이썬 프로그래밍의 기본 구조

  • 프로그래밍은 연산자/조건문/반복문 등으로 플로우 차트(알고리즘 혹은 프로세스)를 구현하는 것이다!
  • 연산자 : 관계 연산자, 논리 연산자
  • 조건문 : if, elif, else
  • 반복문 : for문, while문

(1) 연산자

  • 관계 연산자
  • 논리 연산자
  • 산술 연산자
  • 할당 연산자
  • 멤버쉽 연산자
  • 식별 연산자
#관계 연산자
print(10 == 10) #같다
print(9 != 10) #다르다
print(9 < 10) #왼쪽 값 작다
print(10 > 9) #왼쪽 값 크다
print(9 <= 9) #왼쪽 값이 작거나 같다
print(9 >= 9) #왼쪽 값이 크거나 같다
True
True
True
True
True
True
#논리 연산자
print(True and True) #둘다 True일때만 True
print(False or True) #둘다 True거나 둘 중 하나가 True일 때 Trye
print(not True) #True는 False로 False는 True로 변경
True
True
False
#산술 연산자
print(1+3) #더하기
print(3-1) #빼기
print(2*3) #곱하기
print(8/2) #나누기
print(5%3) #나머지
print(2**3)#제곱
print(6/3) #몫
4
2
6
4.0
2
8
2.0
#할당 연산자
#왼쪽 변수에 오른쪽 값을 할당
a = 51
print(a)

#기존 왼쪽 변수의 값을 오른쪽 값과 더하고(빼고, 곱하고,나누고,나머지를 구한뒤, 제곱을 한뒤, 나눈 몫을 구한뒤), 결과값을 왼쪽 변수에 할당
a += 1
print(a)
a -= 1
print(a)
a *= 2
print(a)
a /= 2
print(a)
a %= 2
print(a)
a **= 2
print(a)
a //= 2
print(a)
51
52
51
102
51.0
1.0
1.0
0.0
#멤버쉽 연산자
#in : 왼쪽의 값이 오른쪽 안에 있다면 True
#not in : 왼쪽의 값이 오른쪽 안에 없다면 True
a = [1,2,3,4,5]
print(3 in a)
print(3 not in a)
True
False
#식별 연산자 (==는 값 확인, is는 주소확인)
#is : 양쪽의 메모리 주소(위치)가 동일하면 True
#is not : 양쪽의 메모리 주소(위치)가 다르면 True

a,b = 20,20
print(a is b)

a,b = 20,30
print(a is b)
b = int(20.0)
print(a is b)
True
False
True

(2) 조건문

  • if, elif, else
a = 10

if a == 10:
    print("a는 10이다.")
elif a == 11:
    print("a는 10은 아니지만 11이다.")
else :
    print(f"a는 10도 11도 아니고 {a}이다.")
a는 10이다.

(3) 반복문

  • for문
  • while문
  • 반복문 제어
① for문 : for문의 조건에 맞게 반복 실행
  • for 변수 in 리스트 혹은 튜플, 문자열: 실행할 코드
s = [90,100,50,25,70]
for score in s:
    print (f"{score}점에 대한 합격여부 판단!")
    if score >=70:
        print("합격!")
    else:
        print("불합격!")
90점에 대한 합격여부 판단!
합격!
100점에 대한 합격여부 판단!
합격!
50점에 대한 합격여부 판단!
불합격!
25점에 대한 합격여부 판단!
불합격!
70점에 대한 합격여부 판단!
합격!
#for문과 많이 사용되는 range가 있다.

for i in range(5):
    print(f"i는{i}")

print("-"*50)
for j in range(1,10,2): #1에서 9까지 2간격으로 출력 
    print(f"j는{j}")

print("-"*50)
for k in range(1,10,3): #1에서 9까지 3간격으로 출력 
    print(f"k는{k}")

print("-"*50)
for l in range(1,10,-2): #1에서 9까지 거꾸로 2씩 가라고하는데 그렇게 갈 수 없어 출력 안됨
    print(f"l는{l}")

print("-"*50)
for l in range(10,1,-2): #10에서 2까지 거꾸로 2씩
    print(f"l는{l}")
i는0
i는1
i는2
i는3
i는4
--------------------------------------------------
j는1
j는3
j는5
j는7
j는9
--------------------------------------------------
k는1
k는4
k는7
--------------------------------------------------
--------------------------------------------------
l는10
l는8
l는6
l는4
l는2
② while문 : while문의 조건이 참(True)인 동안 반복 실행
  • while 조건문 : 실행할 코드
  • ※주의. 조건이 항상 참이 되는 상황이 생기면 무한루프 돌아간다!
count = 1
while count <10:
    print(f"Count : {count}")
    count +=1
③ 반복문 제어
  • break : 중간에 반복문 빠져나오기
  • continue : 해당 순차 건너뛰기
#i가 1에서 4까지 for문 돌리는데 3일때 반복문 빠져나와라 

for i in range(1,5):
    print(i)
    if i == 3:
        break
    print(i)
1
1
2
2
3
#i가 1에서 4까지 for문 돌리는데 3일때만 건너뛰어라
for i in range(1,5):
    print(i)
    if i == 3:
        continue
    print(i)
1
1
2
2
3
4
4