1. ์ ์ด ๊ตฌ์กฐ์ ์ดํด
(1) ์ ์ด ๊ตฌ์กฐ๋?
- ํ๋ก๊ทธ๋จ์ ํ๋ฆ(์คํ ์์)์ ๊ฐ๋ฐ์๊ฐ ์๋ํ ๋๋ก ๋ฐ๊พธ๋ ๊ตฌ์กฐ
- ์ฝ๊ฒ ๋งํด, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฝ๋๋ฅผ ์์์ ์๋๋ก ์์ฐจ์ ์ผ๋ก ์คํํจ.
- ํ์ง๋ง, ๋๋ก ์กฐ๊ฑด๋ฌธ์ด๋ ๋ฐ๋ณต๋ฌธ์ ํตํด ๋ค๋ฅด๊ฒ ์คํ๋๊ฑฐ๋ ๋ฐ๋ณต์ด ๋์ด๋ ๊ตฌ์กฐ๊ฐ ์์. ์ด๊ฒ์ด ์ ์ด ๊ตฌ์กฐ์.
(2) ๊ตฌ์กฐ์ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์
- ์ ์ฐจ์ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ ํ์ ๊ฐ๋
- ํ๋ก๊ทธ๋จ์ ๋ช ํํ๊ณ ๊ฐ๊ฒฐํ๊ฒ ์์ฑํ๋ ๋ฐฉ๋ฒ๋ก ์ด๋ค.
- ํ๋ก๊ทธ๋จ ํ๋ฆ์ ์ ์ด ๊ตฌ์กฐ๋ฅผ ์ด์ฉํด ์ธ๋ถํ ๋ฐ ๋ชจ๋ํ ํ๋ ๋ฐฉ์์ ๊ฐ์กฐํ๋ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ด๋ค.
(3) ๊ตฌ์กฐ์ ํ๋ก๊ทธ๋๋ฐ 3๊ฐ์ง ๊ธฐ๋ณธ ๊ตฌ์กฐ
[1] ์์ฐจ ๊ตฌ์กฐ (Sequential Structure)
- ์์ฐจ ๊ตฌ์กฐ๋ ํ๋ก๊ทธ๋จ์์ ๋ช ๋ น์ด๋ค์ด ์์์ ์๋๋ก ์ฐจ๋ก๋๋ก ์์ฐจ์ ์ผ๋ก ์คํ๋๋ ๊ตฌ์กฐ์ด๋ค.
- ์ฝ๋์์ ์ ์ด ๊ตฌ์กฐ๊ฐ ์์ ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ฐจ์ ์ผ๋ก ์คํ์ด ๋๋ค.
[2] ์ ํ ๊ตฌ์กฐ (Selection Structure)
- (์ ์ด๊ตฌ์กฐ) ์ ํ ๊ตฌ์กฐ๋ ์กฐ๊ฑด์ ๋ฐ๋ผ ์คํ ํ๋ฆ์ ๋ค๋ฅด๊ฒ ๋ง๋๋ ์ ์ด ๊ตฌ์กฐ์ด๋ค.
- ์กฐ๊ฑด๋ฌธ์ ์ด์ฉํด ์ด๋ค ์กฐ๊ฑด์ ๋ง์กฑํ ๋ ํน์ ์ฝ๋๋ฅผ ์คํํ๊ฑฐ๋ ๊ทธ ์ธ์ ๊ฒฝ์ฐ ๋ค๋ฅธ ์ฝ๋๋ฅผ ์คํํ๋ ๋ฐฉ์์ด๋ค.
- ๋ํ์ ์ธ ์๋ก๋ ํ์ด์ฌ์ if / else / elif ์์ฝ์ด๊ฐ ์กด์ฌํ๋ค.
[3] ๋ฐ๋ณต ๊ตฌ์กฐ (Repetition Structure)
- (์ ์ด๊ตฌ์กฐ) ๋ฐ๋ณต ๊ตฌ์กฐ๋ ์ด๋ค ์กฐ๊ฑด์ ๋ง์กฑํ ๋๊น์ง ๋์ผํ ์ฝ๋๋ฅผ ๋ฐ๋ณตํด์ ์คํํ๋ ๊ตฌ์กฐ์ด๋ค.
- ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํด ์ฝ๋์ ์ค๋ณต์ ์ค์ด๊ณ ํจ์จ์ฑ์ ๋์ผ ์ ์๋ค.
- ๋ํ์ ์ธ ์๋ก๋ ํ์ด์ฌ์ for๋ฌธ๊ณผ while๋ฌธ์ด ์๋ค.
2. ์์ฐจ ๊ตฌ์กฐ
- ์คํ์ ํ๋ฆ์ ์ฃผ์ด์ง๋ ๋ช ๋ น์ ์์น์ ํ๋ฆ์ ๋ฐ๋ผ ์ํํ๋ ๊ตฌ์กฐ๋ฅผ ์๋ฏธํ๋ค.
- ๋ช ๋ น ๋ผ์ธ ์์์ ์๋๋ก ํ๋ฅด๋ ๊ฐ์ฅ ์ง๊ด์ ์ธ ๊ตฌ์กฐ
- ์ผ๋จ ์ฒซ ๋จ๊ณ๋ฅผ ์์ํ๋ฉด ๋ง์ง๋ง ๋จ๊ฒ๊น์ง ์ํ
- ์ด๋ฌํ ํ์ค์์ ์ฌ์ฉ๋๋ ์์ฐจ ๊ตฌ์กฐ๋ฅผ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ น์ธ๊ฒ์ด๋ค.
(1) ํ๋ก๊ทธ๋๋ฐ ์๋ฌ
- ์์ฐจ์ ์ผ๋ก ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ค ๋ณด๋ฉด, ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์๋ค.
- ์ค๊ณ ๋ฏธ์, ๊ฒฐํจ ๋๋ ๋ฌธ๋ฒ ์ค๋ฅ๋ก ํ๋ก๊ทธ๋จ์ด ์๋ํ ๋๋ก ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ์ง ๋ชปํ๋ ๋ฌธ์ ๋ฅผ ์๋ฏธํ๋ค.
[1] ๊ตฌ๋ฌธ ์ค๋ฅ(syntax error)
- ๋ฌธ๋ฒ ์ฒด๊ณ์ ์ ํฉํ์ง ์๋ ๋ช ๋ น๋ฌธ ์ ๋ ฅ ์ ๋ฐ์
[2] ์คํ ์ค๋ฅ(runtime error)
- ๋ ผ๋ฆฌ์ ์ผ๋ก ์คํ ๋ถ๊ฐ๋ฅํ ๋ช ๋ น๋ฌธ ์์ฑ ์ ๋ฐ์
[3] ์๋ฏธ ์ค๋ฅ(semantic error)
- ์๋ฏธ์ ์ผ๋ก ์๋ชป ํด์๋๋ ๋ช ๋ น๋ฌธ ์์ฑ ์ ๋ฐ์
(2) ํ์ด์ฌ ๋ฐ์ดํฐ ํ์ ๋ณํ
- ํ์ด์ฌ์๋ ์๋ฃํ(๋ฐ์ดํฐ ํ์ )์ ์ ๋ ฅํ์ง ์๊ณ ๋ณ์๋ฅผ ์ ์ธํด๋ ๋ด๋ถ์ ์ผ๋ก ์๋ฃํ์ ๋ฃ์ด์ ์ค๋ค.
- ์ฆ, ํ์ด์ฌ์๋ ๋ฐ์ดํฐ ํ์ ์ด ์๋๊ฒ์ด ์๋ ์๋ต์ด ๊ฐ๋ฅํ ๊ฒ์ด๋ค.
- ์ฝ๊ฒ ๋งํด, input() ์ ๋ฆฌํด ํ์ ์ str ๋ฌธ์์ด ์ด๋ฉฐ, ์ด ๊ฐ์ int ์ ์์ ๋ํ๊ฒ ๋๋ค๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒ์ด๋ค.
- ํ์ด์ฌ์์๋ int(), float() ํจ์๋ฅผ ํ์ฉํ์ฌ ๋ฐ์ดํฐ ํ์ ์ ๋ณํํ ์ ์๋ค.
# ์๋ชป๋ ์ฝ๋
number = input() # ์
๋ ฅ๊ฐ์ ๋ฆฌํด์ ๋ฐ๋์ string(๋ฌธ์์ด) ํ์์ผ๋ก ๋์ด์จ๋ค.
print(number + 1) # ๋ฐํ์ ์ค๋ฅ ๋ฐ์ ์ด์ : str๊ณผ ์ซ์๋ ๋ํ ์์์.
# ์ฌ๋ฐ๋ฅธ ์ฝ๋
number = input()
number = int(number)
print(number + 1) # ๊ฒฐ๊ณผ๊ฐ์ ๋ํ ์ ์๊ฐ์ด ๋์ด. ๋ฌธ์ ๋ฐ์ x
# ๊ทธ ์ธ ์ฌ์ฉ๋ฒ 1
number = int(input())
print(number + 1)
# ๊ทธ ์ธ ์ฌ์ฉ๋ฒ 2
number = input()
print(int(number) + 1)
# ๋ฑ.. ๋ค์ํ ์ฌ์ฉ๋ฒ์ด ์์.
'๐ ๏ธBackend > โกPython' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] 7๊ฐ - ๋ฐ๋ณต ๊ตฌ์กฐ (0) | 2025.04.17 |
---|---|
[Python] 6๊ฐ - ์ ํ ๊ตฌ์กฐ (0) | 2025.04.16 |
[Python] 4๊ฐ - ํ์ด์ฌ ์์ํ๊ธฐ (0) | 2025.04.14 |
[Python] ๊ฐ์ธ ์ปดํจํฐ์์ ํ์ด์ฌ ์ค์น ๋ฐ VS Code๋ก ์คํํ๊ธฐ (0) | 2025.04.11 |
[Python] 3๊ฐ - ํ์ด์ฌ์ ์ดํด (1) | 2025.04.11 |