2. [ํŒŒ์ด์ฌ] ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ

2026. 3. 6. 19:46ยทPython & SQL/Python Basics
๐Ÿ’ก ๋ณธ ํฌ์ŠคํŒ…์€ ์ˆ˜์—… ๋‚ด์šฉ, ๊ต์žฌ, ChatGPT๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ •๋ฆฌํ•œ ํ•™์Šต ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค.
๊ธ€๊ณผ ๊ทธ๋ฆผ ๋“ฑ ๋ชจ๋“  ์ฝ˜ํ…์ธ ์˜ ์ •๋ฆฌ ๋ฐ ์ž‘์„ฑ์€ ๋ณธ ๋ธ”๋กœ๊ทธ์—์„œ ์ง์ ‘ ์ œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

Python ๊ธฐ์ดˆ๋ถ€ํ„ฐ Streamlit ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”๊นŒ์ง€ ์ •๋ฆฌํ•˜๋Š” ํ•™์Šต ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค.

์ด ๊ธ€์€ '2. [ํŒŒ์ด์ฌ] ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ' ์ž…๋‹ˆ๋‹ค.

 

 

ํ”„๋กœ๊ทธ๋žจ ํ๋ฆ„ ์ œ์–ด (Control Flow)

ํ”„๋กœ๊ทธ๋žจ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ '์œ„์—์„œ ์•„๋ž˜๋กœ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰'๋œ๋‹ค.

 

โœ”๏ธ ๊ธฐ๋ณธ ์‹คํ–‰ ํ๋ฆ„

print("start")
print("processing")
print("end")

 

ํ•˜์ง€๋งŒ ์‹ค์ œ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•œ๋‹ค.

  • ํŠน์ • ์กฐ๊ฑด์ผ ๋•Œ๋งŒ ์‹คํ–‰
  • ๋™์ผํ•œ ์ž‘์—…์„ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณต
  • ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ ์ƒ์„ฑ

์ด๋Ÿฌํ•œ ํ๋ฆ„์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ์กฐ๊ฐ€ ๋ฐ”๋กœ '์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ'์ด๋‹ค.

์กฐ๊ฑด๋ฌธ → if / elif / else
๋ฐ˜๋ณต๋ฌธ → for / while

 

 

๋น„๊ต ์—ฐ์‚ฐ์ž์™€ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

์กฐ๊ฑด๋ฌธ์€ 'Boolean ๊ฐ’(True / False)'์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค.

 

โœ”๏ธ ๋น„๊ต ์—ฐ์‚ฐ์ž ์˜ˆ์ œ

a = 10
b = 7

print(a > b)
print(a == b)
print(a != b)
print(a <= b)

 

๊ฒฐ๊ณผ

True
False
True
False

 

๋Œ€ํ‘œ์ ์ธ ๋น„๊ต ์—ฐ์‚ฐ์ž

  • > : ํฌ๋‹ค
  • < : ์ž‘๋‹ค
  • >= : ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค
  • <= : ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค
  • == : ๊ฐ™๋‹ค
  • != : ๊ฐ™์ง€ ์•Š๋‹ค

 

 

if ์กฐ๊ฑด๋ฌธ

์กฐ๊ฑด๋ฌธ์€ ํŠน์ • ์กฐ๊ฑด์ด True์ผ ๋•Œ๋งŒ ์ฝ”๋“œ ๋ธ”๋ก์„ ์‹คํ–‰ํ•œ๋‹ค.

 

โœ”๏ธ ๊ธฐ๋ณธ if ์˜ˆ์ œ

user_age = 20

if user_age >= 18:
    print("์„ฑ์ธ ์‚ฌ์šฉ์ž์ž…๋‹ˆ๋‹ค.")

 

์„ค๋ช…

์กฐ๊ฑด์‹ True → ์‹คํ–‰
์กฐ๊ฑด์‹ False → ์‹คํ–‰ํ•˜์ง€ ์•Š์Œ

 

Python์—์„œ ์กฐ๊ฑด๋ฌธ์€ ๋“ค์—ฌ์“ฐ๊ธฐ(indentation, ๋ณดํ†ต 4์นธ)๋กœ ๋ธ”๋ก์„ ๊ตฌ๋ถ„ํ•œ๋‹ค.

 

 

if - elif - else

์—ฌ๋Ÿฌ ์กฐ๊ฑด์„ ์ฒ˜๋ฆฌํ•  ๋•Œ๋Š” elif ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

score = 87

if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"
elif score >= 70:
    grade = "C"
else:
    grade = "D"

print("grade:", grade)

 

์‹คํ–‰ ๊ฒฐ๊ณผ

grade: B

 

์กฐ๊ฑด๋ฌธ์€ ์œ„์—์„œ ์•„๋ž˜๋กœ ํ‰๊ฐ€๋˜๋ฉฐ, ์ฒ˜์Œ True๊ฐ€ ๋˜๋Š” ๋ธ”๋ก๋งŒ ์‹คํ–‰๋œ๋‹ค.

 

 

match - case (Python 3.10+)

์—ฌ๋Ÿฌ ์กฐ๊ฑด์„ 'ํŒจํ„ด ๋งค์นญ ๋ฐฉ์‹'์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ด๋‹ค.

command = "start"

match command:
    case "start":
        print("ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘")
    case "stop":
        print("ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ")
    case _:
        print("์•Œ ์ˆ˜ ์—†๋Š” ๋ช…๋ น")

 

์„ค๋ช…

case _ : default ์—ญํ• 

 

switch๋ฌธ*๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ํŒจํ„ด ๋งค์นญ ๊ธฐ๋Šฅ์ด ๋” ๊ฐ•๋ ฅํ•˜๋‹ค.

 

* ๋‹ค๋ฅธ ์–ธ์–ด(C, Java, JavaScript ๋“ฑ)์—๋Š” switch๋ฌธ์ด ์กด์žฌํ•œ๋‹ค.

switch๋ฌธ์€ ์—ฌ๋Ÿฌ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.

switch (command) {
  case "start":
    console.log("ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘")
    break
  case "stop":
    console.log("ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ")
    break
  default:
    console.log("์•Œ ์ˆ˜ ์—†๋Š” ๋ช…๋ น")
}

 

Pythond์—๋Š” ์ „ํ†ต์ ์ธ switch๋ฌธ์ด ์—†์—ˆ์ง€๋งŒ,

Python 3.10๋ถ€ํ„ฐ match-case๋ฌธ์ด ๋„์ž…๋˜๋ฉด์„œ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

 

 

for ๋ฐ˜๋ณต๋ฌธ

for๋ฌธ์€ iterable ๊ฐ์ฒด๋ฅผ ์ˆœํšŒํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.

  • ๋Œ€ํ‘œ์ ์ธ iterable : list, tuple, dict, set, range, string

 

โœ”๏ธ ๋ฆฌ์ŠคํŠธ ๋ฐ˜๋ณต ์˜ˆ์ œ

numbers = [5, 12, 18, 7, 25]

for number in numbers:
    print(number)

 

 

range ํ™œ์šฉ

range๋Š” ๋ฐ˜๋ณต๋ฌธ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.

 

โœ”๏ธ range ๋ฐ˜๋ณต

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

 

๊ฒฐ๊ณผ

0
1
2
3
4

 

range ๊ตฌ์กฐ

range(start, stop, step)    # ์‹œ์ž‘ ํฌํ•จ, ๋ ๋ฏธํฌํ•จ, ๊ฐ„๊ฒฉ

 

 

๋ฐ˜๋ณต๋ฌธ + ์กฐ๊ฑด๋ฌธ

๋ฐ˜๋ณต๋ฌธ ๋‚ด๋ถ€์—์„œ ์กฐ๊ฑด๋ฌธ์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋ง ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โœ”๏ธ ์ง์ˆ˜ ํ•„ํ„ฐ๋ง ์˜ˆ์ œ

numbers = list(range(1, 21))

even_numbers = []

for number in numbers:
    if number % 2 == 0:
        even_numbers.append(number)

print(even_numbers)

 

๊ฒฐ๊ณผ

[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

 

 

while ๋ฐ˜๋ณต๋ฌธ

while๋ฌธ์€ ์กฐ๊ฑด์ด True์ธ ๋™์•ˆ ๋ฐ˜๋ณตํ•œ๋‹ค. (์ž‘์„ฑ์— ๋”ฐ๋ผ ๋ฌดํ•œ๋ฃจํ”„ ๊ฐ€๋Šฅ)

 

โœ”๏ธ while ์˜ˆ์ œ

count = 1

while count <= 5:
    print("count:", count)
    count += 1

 

์‹คํ–‰ ๊ฒฐ๊ณผ

count: 1
count: 2
count: 3
count: 4
count: 5

 

 

break์™€ continue

๋ฐ˜๋ณต๋ฌธ ์ œ์–ด๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํ‚ค์›Œ๋“œ์ด๋‹ค.

์œ„์—์„œ ์•„๋ž˜๋กœ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋˜๋‹ค๊ฐ€ break๋ฅผ ๋งŒ๋‚˜๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜์˜จ๋‹ค.

 

โœ”๏ธ break ์˜ˆ์ œ

for number in range(10):

    if number == 5:
        break

    print(number)

 

๊ฒฐ๊ณผ

0
1
2
3
4

 

โœ”๏ธ continue ์˜ˆ์ œ

for number in range(10):

    if number % 2 == 0:
        continue

    print(number)

 

 

๋ฆฌ์ŠคํŠธ ์ปดํ”„๋ฆฌํ—จ์…˜(List Comprehension)

๋ฆฌ์ŠคํŠธ ์ปดํ”„๋ฆฌํ—จ์…˜์€ ๋ฐ˜๋ณต๋ฌธ์„ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ•œ ์ค„๋กœ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

 

โœ”๏ธ ์ผ๋ฐ˜ ๋ฐ˜๋ณต๋ฌธ

numbers = []

for i in range(10):
    numbers.append(i * i)

print(numbers)

 

โœ”๏ธ List Comprehension

numbers = [i * i for i in range(10)]

print(numbers)

 

์กฐ๊ฑด๋„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

โœ”๏ธ ์กฐ๊ฑด ํฌํ•จ

even_squares = [i*i for i in range(20) if i % 2 == 0]

print(even_squares)

 

 

๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์˜ˆ์ œ

โœ”๏ธ ํ•™์ƒ ์ ์ˆ˜ ๋ถ„์„

scores = [82, 91, 77, 68, 95, 88, 73]

total_score = 0
max_score = scores[0]
min_score = scores[0]

for score in scores:

    total_score += score

    if score > max_score:
        max_score = score

    if score < min_score:
        min_score = score

average_score = total_score / len(scores)

print("ํ‰๊ท :", round(average_score, 2))
print("์ตœ๊ณ  ์ ์ˆ˜:", max_score)
print("์ตœ์ € ์ ์ˆ˜:", min_score)

 

 

์ •๋ฆฌ

์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ์€ Python ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์„ ์ œ์–ดํ•˜๋Š” ํ•ต์‹ฌ ๊ตฌ์กฐ์ด๋‹ค.

 

์ด๋ฒˆ ๊ธ€์—์„œ ๋‹ค๋ฃฌ ์ฃผ์š” ๊ฐœ๋…์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ๋น„๊ต ์—ฐ์‚ฐ์ž
  • if / elif / else
  • match-case
  • for ๋ฐ˜๋ณต๋ฌธ
  • while ๋ฐ˜๋ณต๋ฌธ
  • break / continue
  • list comprehension

์ด๋Ÿฌํ•œ ์ œ์–ด ๊ตฌ์กฐ๋Š” ์ดํ›„์— ๋‹ค๋ฃจ๊ฒŒ ๋  ํ•˜๊ธฐ ์ฃผ์ œ์—์„œ๋„ ๋งค์šฐ ์ค‘์š”ํ•œ ๊ธฐ๋ฐ˜์ด ๋œ๋‹ค.

  • ํ•จ์ˆ˜
  • ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ
  • ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • ๋ฐ์ดํ„ฐ ๋ถ„์„

 

'Python & SQL > Python Basics' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

5. [ํŒŒ์ด์ฌ] ๋”•์…”๋„ˆ๋ฆฌ  (0) 2026.03.06
4. [ํŒŒ์ด์ฌ] ํŠœํ”Œ๊ณผ ํŒจํ‚น/์–ธํŒจํ‚น  (0) 2026.03.06
3. [ํŒŒ์ด์ฌ] Python ์ž๋ฃŒํ˜•  (0) 2026.03.06
1. [ํŒŒ์ด์ฌ] Python ์‹œ์ž‘ํ•˜๊ธฐ  (0) 2026.03.06
[ํŒŒ์ด์ฌ ํ•™์Šต] Python ์ •๋ฆฌ ์‹œ๋ฆฌ์ฆˆ (๊ธฐ์ดˆ๋ถ€ํ„ฐ ๊ฐ์ฒด์ง€ํ–ฅ๊นŒ์ง€)  (0) 2026.03.06
'Python & SQL/Python Basics' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • 4. [ํŒŒ์ด์ฌ] ํŠœํ”Œ๊ณผ ํŒจํ‚น/์–ธํŒจํ‚น
  • 3. [ํŒŒ์ด์ฌ] Python ์ž๋ฃŒํ˜•
  • 1. [ํŒŒ์ด์ฌ] Python ์‹œ์ž‘ํ•˜๊ธฐ
  • [ํŒŒ์ด์ฌ ํ•™์Šต] Python ์ •๋ฆฌ ์‹œ๋ฆฌ์ฆˆ (๊ธฐ์ดˆ๋ถ€ํ„ฐ ๊ฐ์ฒด์ง€ํ–ฅ๊นŒ์ง€)
J. Son
J. Son
Petit à petit l'oiseau fait son nid.
  • J. Son
    Steady Study Log
    J. Son
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (172) N
      • Python & SQL (63)
        • Python Basics (21)
        • Python Problems (23)
        • Python Practice (11)
        • MySQL (1)
        • Git & GitHub (7)
      • ML & DL (7) N
      • Projects (6) N
        • Project Portfolio (6) N
      • AI Camp (4)
        • Camp Reflection (4)
      • Concept Notes (6)
        • Statistics & Stata (4)
        • Mathematics (2)
      • Archive (85) N
        • Java (24)
        • R (1)
        • Languages (49)
        • Miscellaneous (11) N
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • GitHub
    • WikiDocs
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    share.streamlit.io
    ํŒŒ์ด์ฌ streamlit
    ๋ถˆ์–ด ๊ด€๊ณ„๋Œ€๋ช…์‚ฌ
    ๊ฐ์ฒด
    ํ”„๋ž‘์Šค์–ด ๊ณต๋ถ€
    Github
    ์ ํ”„ํˆฌํŒŒ์ด์ฌ ์—ฐ์Šต๋ฌธ์ œ ํ’€์ด
    streamlit
    passe compose
    ๋ณตํ•ฉ๊ณผ๊ฑฐ
    ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ํŒŒ์ด์ฌ 300์ œ
    ์ ํ”„ํˆฌํŒŒ์ด์ฌ ์—ฐ์Šต๋ฌธ์ œ
    machine learning
    ํŒŒ์ด์ฌ ํฌ๋กค๋ง
    python problem
    ๋จธ์‹ ๋Ÿฌ๋‹
    python streamlit
    ๋งฅ git
    ์–ด๋ฆฐ์™•์ž ๋ถˆ์–ด
    MySQL
    ํ”„๋กœ์ ํŠธ ์˜ค์ผ๋Ÿฌ
    ์ž๋ฐ”
    Le Petit Prince
    Stata
    ์–ด๋ฆฐ์™•์ž ํ”„๋ž‘์Šค์–ด
    ๋ถˆ์–ด ๊ณต๋ถ€
    Python
    GIT
    ํŒŒ์ด์ฌ
    ํŒŒ์ด์ฌ ๋ฌธ์ œ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.6
J. Son
2. [ํŒŒ์ด์ฌ] ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”