4แแ
กแแ
ต_แแ
กแซแแ
ฉแจแแ
ฎแซ_แแ
ชแแ
ฆแแ
ขแแ
ฅแฏ.docx
0.39MB
4์ฐจ์_๋ฐ๋ณต๋ฌธ_๊ณผ์ .docx
2.04MB
4์ฐจ์_๋ฐ๋ณต๋ฌธ_๊ฐ์์
3.30MB
*๋ชจ๋ ์ถ์ฒ๋ ๋์ "๋ฐ์ดํฐ ๊ณผํ์ ์ํ ํ์ด์ฌ ํ๋ก๊ทธ๋๋ฐ"์ ๋๋ค
#1 ๋ฐ๋ณต๋ฌธ
๋ฐ๋ณต๋ฌธ(loop)์ ๊ฐ๋
- ์ ํด์ง ๋์์ ๋ฐ๋ณต์ ์ํํ ๋ ์ฌ์ฉํ๋ ๋ช ๋ น์ด
- ์ผ์์ํ์ ์์
- ํ์ 100๋ช ์ฑ์ ์ฐ์ถ
- ์ผํ๋ชฐ์์ ์ํ ์ถ์ฒ → ์ฌ์ฉ์์ ์ํ ๊ตฌ๋งค ํน์ง๊ณผ ๋ค๋ฅธ ์ํ ๊ฐ์ ํน์ง ๋ฌดํ ๋น๊ต
- ๊ตฌ์ฑ
- ๋ฐ๋ณต ์์ ์กฐ๊ฑด
- ๋ฐ๋ณต ์ข ๋ฃ ์กฐ๊ฑด
- ์ํ ๋ช ๋ น
- ๊ตฌ๋ถ๊ธฐ์ค : ๋ค์ฌ์ฐ๊ธฐ & ๋ธ๋กblock
- ๋ช ๋ น ํค์๋ : for, while
for๋ฌธ
- ๊ธฐ๋ณธ์ ์ธ ๋ฐ๋ณต๋ฌธ
- ๊ธฐ๋ณธ ํ์
⇒ ‘a๊ฐ data์์ ์๋ ๊ฐ์ผ ๋์ ๋ฐ๋ณตํด์ ๋ช ๋ น์ด b ์คํํ๋ผ’
- ๋ฐ๋ณต ๋ฒ์ ์ง์ ํ์ฌ ์ํ
- ๋ฒ์ ์ง์ ๋ฐฉ๋ฒ
- 1. ๋ฆฌ์คํธ
for looper in [1,2,3,4,5]:
print('hello')
- in ๋ค์์ ๋ฆฌ์คํธ์ ๊ฐ๊ฐ์ ๊ฐ์ ํ๋์ฉ ๊ฐ์ ธ์ looper ๋ณ์์ ํ ๋น
- ํ ๋ฒ ํ ๋นํ ๋๋ง๋ค ๋ค์ ์ค์ ๋ช ๋ น print(’hello’) ์คํ
- [1,2,3,4,5]์ ๋ชจ๋ ๊ฐ ํ ๋ฒ์ฉ ์ํ → ์ด ๋ค์ฏ ๋ฒ์ ๋ฐ๋ณต ๋ฐ์
- ‘hello’ ๋ค์ฏ ๋ฒ ์ถ๋ ฅ
+) ๋ณ์ ์์ฒด ์ถ๋ ฅ
for looper in [1,2,3,4,5]:
print(looper)
- ๋ฆฌ์คํธ์ ๊ฐ๊ฐ ๊ฐ์ด ํ๋์ฉ looper ๋ณ์์ ํ ๋น → ๊ทธ ๊ฐ์ด ์ถ๋ ฅ๋จ
- ํ์ง๋ง 100๋ฒ ๋ฐ๋ณตํด์ผ ํ ๊ฒฝ์ฐ, ์ด ๋ฐฉ๋ฒ์ ๋งค์ฐ ๋นํจ์จ์ !
- 2. range
for looper in range(100):
print('hello')
- looper ๋ณ์์ 0~99๊น์ง ์ด 100๊ฐ์ ๊ฐ ํ ๋น
- range ๊ธฐ๋ณธ ๊ตฌ์กฐ
for ๋ณ์ in range(์์ ๋ฒํธ, ๋ง์ง๋ง ๋ฒํธ, ์ฆ๊ฐ๊ฐ)
- ๋ฆฌ์คํธ์ ์ธ๋ฑ์ฑ ๋ฌธ๋ฒ๊ณผ ๋์ผ
- 0๋ถํฐ ์์!
- ๋ง์ง๋ง ๋ฒํธ์ ์
๋ ฅํ ์ซ์ - 1๊น์ง ๋ฆฌ์คํธ ์์ฑ
- ex. range(0,5) → [0,1,2,3,4]
- ์์ ๋ฒํธ & ์ฆ๊ฐ๊ฐ → ์๋ต ๊ฐ๋ฅ
- ์ด๊ฒฝ์ฐ, ์์ ๋ฒํธ = 0, ์ฆ๊ฐ๊ฐ = 1
2.1 range ํ์ฉ
- 2 ์นธ์ฉ ์ฆ๊ฐ
for i in range(1,10,2):
print(i)
- 1 ์นธ์ฉ ๊ฐ์
for i in range(10,1,-1):
print(i)
3. ๋ฌธ์์ด
- ๋จ์ ๋ฌธ์์ด
for i in 'abcdefg':
print(i)
- ๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ง ๋ฆฌ์คํธ
for i in ['americano','latte','frappuccino']
print(i)
๐ญ ์์๋๋ฉด ์ข์ ๊ฒ
- ๋ฐ๋ณต๋ฌธ ๋ณ์ ๋๋ถ๋ถ i,j,k๋ก ์ง์
- ๋ฐ๋ณต๋ฌธ ๋๋ถ๋ถ 0๋ถํฐ ๋ฐ๋ณต ์์
- ๋ฐ๋ณต๋ฌธ ์๋ชป ์์ฑ์, ๋ฌดํ ๋ฃจํ ์ค๋ฅ ๋ฐ์
- ๋ฐ์๊ฐ๋ฅํ ์๋ฌ
- ์ฝ๋ก (:)์ ์
๋ ฅํ์ง ์์์ ๋
- [ํ์์ ์ค๋ฅ] SyntaxError : invalid syntax
- ๋ค์ฌ์ฐ๊ธฐ ์๋ชป๋์ ๋
- ๋ฐ๋ณต๋ฌธ ๋ด๋ถ, 4์นธ ๋ค์ฌ์ฐ๊ธฐ ํ์ง ์์์ ๋
- [๋ค์ฌ์ฐ๊ธฐ ์ค๋ฅ] IndentationError : expected an indented block
- ๋ณ์๊ด๋ จ
- ์ฝ๋ก (:)์ ์
๋ ฅํ์ง ์์์ ๋
for b in range(1,5):
print(k, 'hello')
- [๋ณ์ ์ค๋ฅ] NameError : name ‘k’ is not defined
- k → b๋ก ์์ ํ๊ธฐ!
while๋ฌธ
- ํน์ ์กฐ๊ฑด์ด ๋ง์กฑํ๋ ๋์ ๋ช ๋ น ๋ธ๋ก ์ํ → ์ ์ด๊ตฌ์กฐ
- ๊ทธ ์กฐ๊ฑด์ด ๊ฑฐ์ง์ผ ๊ฒฝ์ฐ ๋์ด์ ๋ฐ๋ณต ๋ช ๋ น๋ธ๋ก ์ํํ์ง ์์
- if + ๋ฐ๋ณต๋ฌธ
- ๊ธฐ๋ณธ ๋ฌธ๋ฒ
- while ํ๋จ ์กฐ๊ฑด: #ํ๋จ ์กฐ๊ฑด์ด True์ธ ๋์
while ํ๋จ ์กฐ๊ฑด: #ํ๋จ ์กฐ๊ฑด์ด True์ธ ๋์ ๋ฐ๋ณต ์คํํ ๋ด์ฉ #์ด๋ถ๋ถ์ ๋ฐ๋ณตํ๋ค
i = 1 # i ๋ณ์์ 1 ํ ๋น
while i < 10: # i๊ฐ 10 ๋ฏธ๋ง์ธ์ง ํ๋จ
print(i) # ์กฐ๊ฑด์ ๋ง์กฑํ ๋ i ์ถ๋ ฅ, i์ 1์ ๋ํจ
i += 1 # i๊ฐ 10์ด ๋๋ฉด ๋ฐ๋ณต ์ข
๋ฃ
- +) for vs. while
- ์๋ก ๋ณํ๊ฐ๋ฅ, ์ ์ฌํจ
- ์ฐ์์์ ์ฐจ์ด ์กด์ฌ
- for : ๋ฐ๋ณต ํ์ ๋ช
ํํ ์ & ๋ฐ๋ณต ํ์ ๋ถ๋ณ → [๋ฐ๋ณตํ ๊ตฌ๊ฐ]
- ex. ํ์ ์ฑ์ ์ฑ์ ํ๋ก๊ทธ๋จ → ์ด ํ์ ์ ์
- while : ๋ฐ๋ณต ํ์ ๋ถ๋ช
ํ & ํน์ ์กฐ๊ฑด ๋ง์กฑํ ๋ ํ๋ก๊ทธ๋จ ์ข
๋ฃ ๊ฐ๋ฅ → [๋ฐ๋ณตํ ์กฐ๊ฑด]
- ex. ๊ฐ์๋ฐ์๋ณดํ ๋ ์ด๊ธฐ๋ฉด ์ข ๋ฃ → ์์ ์ ํํ ์ ์ ์์ ⇒ while๋ฌธ
- for : ๋ฐ๋ณต ํ์ ๋ช
ํํ ์ & ๋ฐ๋ณต ํ์ ๋ถ๋ณ → [๋ฐ๋ณตํ ๊ตฌ๊ฐ]
๋ฐ๋ณต๋ฌธ์ ์ ์ด
- ํ์์ ๋ฐ๋ผ ์ ์ด ๊ฐ๋ฅ
- ์ค๊ฐ์ ๋ฐ๋ณต ์ข ๋ฃ or ์คํ ์ค ๋ฐ๋ณต๋ฌธ ๊ฑด๋๋ฐ๊ธฐ
break๋ฌธ
- ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ฐ์ ์ข ๋ฃ ๊ฐ๋ฅ
- ex. ‘i == 5’๊ฐ ์ฐธ์ผ ๋ ์ข ๋ฃ์ํค๊ธฐ
for i in range(10):
if i == 5: break # i๊ฐ 5๊ฐ ๋๋ฉด ๋ฐ๋ณต ์ข
๋ฃ
print(i)
print("End of Program") # ๋ฐ๋ณต ์ข
๋ฃ ํ ‘End of Program’ ์ถ๋ ฅ
continue๋ฌธ
- ํน์ ์กฐ๊ฑด์์ ๋จ์ ๋ช ๋ น ์คํต → ๋ค์ ๋ฐ๋ณต๋ฌธ ๋ช ๋ น ์ํ
- ex. ‘i == 5’์ผ ๊ฒฝ์ฐ, ๋ค์ ๋ช ๋ น ๊ฑด๋๋ฐ๊ธฐ
for i in range(10):
if i == 5: continue # i๊ฐ 5๊ฐ ๋๋ฉด i๋ฅผ ์ถ๋ ฅํ์ง ์์
print(i)
print("End of Program") # ๋ฐ๋ณต ์ข
๋ฃ ํ ‘End of Program’ ์ถ๋ ฅ
else๋ฌธ
- ํน์ ์กฐ๊ฑด ์์ ํ ๋๋ฌ์ ๋ ํ๋ฒ ๋ ์คํํ๋ ์ญํ
- break ๋ฑ์ผ๋ก ์ฝ๋ ์ข ๋ฃ ํ else๋ฌธ ์ํ๋์ง ์์ → ๋ฐ๋ณต๋ฌธ ์๋ฒฝํ ์ํ๋๋์ง ํ์ธ ์ฉ๋
for i in range(10):
print(i)
else:
print("End of Program")
์ค์ต; ๊ตฌ๊ตฌ๋จ ๊ณ์ฐ๊ธฐ
์ค์ต ๋ด์ฉ
- ๋ฐ๋ณต๋ฌธ ํ์ฉ
- ์ฌ์ฉ์ ๊ณ์ฐํ๊ณ ์ถ์ ๊ตฌ๊ตฌ๋จ์ ๋จ์ ์ ๋ ฅ → ๊ตฌ๊ตฌ๋จ ์ถ๋ ฅ
- for๋ฌธ, input ํ์ฉ
- ์คํ ๊ฒฐ๊ณผ
- ๋ฌธ์ ํด๊ฒฐ
#1
print("๊ตฌ๊ตฌ๋จ ๋ช ๋จ์ ๊ณ์ฐํ ๊น?")
#2
user_input = input()
#3
print("๊ตฌ๊ตฌ๋จ", user_input, "๋จ์ ๊ณ์ฐํ๋ค.")
#4
int_input = int(user_input)
#5~7
for i in range(1, 10):
result = int_input * i
print(user_input, "x", i, "=", result)
- #1 : “๊ตฌ๊ตฌ๋จ ๋ช ๋จ์ ๊ณ์ฐํ ๊น?” ๋ฌธ๊ตฌ ์ถ๋ ฅ
- #2 : ์ฌ์ฉ์ ์ ๋ ฅ ๊ฐ → user_input ํ ๋น
- #3 : ๋ณ์ ์ด์ฉ → ๊ตฌ๊ตฌ๋จ ๊ณ์ฐ ๋ฌธ๊ตฌ ์ถ๋ ฅ
- #4 : user_input์ด ๋ฌธ์์ด์ด๋ฏ๋ก ์ ์ํ์ผ๋ก ๋ณํ → int_input ํ ๋น
- #5 ~ 7 : ์
๋ ฅ๋ ์ซ์์ 1~9๊น์ง ๊ณฑ ๋ฐ๋ณต๋ฌธ์ผ๋ก ํํ
- range ํ์ฉ → 1 ~ 9 ์ซ์ i ํ ๋น
- ์ฌ์ฉ์ ์ ๋ ฅ๊ฐ๊ณผ ๊ณฑํ์ฌ ๊ฒฐ๊ณผ๋ฅผ result์ ํ ๋น
#2 ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ ์ค์ต
๋ฌธ์์ด ์ญ์ ์ถ๋ ฅ
- reverse_sentence.py
sentence = "I love you"
reverse_sentence = ' '
for char in sentence:
reverse_sentence = char + reverse_sentence
print(reverse_sentence)
- sentence์ ๊ธ์๋ฅผ char ์ ํ๋์ฉ ์ ์ฅ → ์ญ์์ผ๋ก reverse_sentence์ ๋ถ์ฌ๋ฃ๊ธฐ
- ๋ฐ๋ณต๋ฌธ ์์
์ญ์ง์๋ฅผ ์ด์ง์๋ก ๋ณํ
- ์๋ฆฌ : ์ญ์ง์ ์ซ์ → 2๋ก ๊ณ์ ๋๋๊ธฐ → ๊ทธ ๋๋จธ์ง ์ญ์ ์ทจํ๊ธฐ
- demical.py
#1
decimal = 10
#2
result = ''
#3
while (decimal > 0):
#4
remainder = decimal % 2
#5
decimal = decimal // 2
#6
result = str(remainder) + result
#7
print(result)
- ์ฝ๋ ์ค๋ช
- while ๋ฌธ ์ฌ์ฉ → decimal์ด ์ด๋ค ๊ฐ์ด๋ ‘decimal > 0’์ด ์ฐธ์ผ ๋๊ฐ์ง ๊ณ์ ์คํ
- #4 : remainder์ ๋๋จธ์ง ์ ์ฅ
- #5 : ํ์ฌ ์ญ์ง์๋ฅผ 2๋ก ๋๋ ๋ชซ → ๋ค์ decimal์ ์ ์ฅ
- #6 : result์ ๊ฐ์ ์ญ์ ์ ์ฅ
- ๋ณ์ ๋ณํ ์ธ๋ถ ๊ณผ์
์ค์ต ; ์ซ์ ์ฐพ๊ธฐ ๊ฒ์
์ค์ต ๋ด์ฉ
- ๋ฐ๋ณต๋ฌธ ์กฐ๊ฑด๋ฌธ ํ์ฉ
- ์ซ์ ์ฐพ๊ธฐ ๊ฒ์ : ์ปดํจํฐ๊ฐ ์์๋ก ์์ฑํ ์ซ์๋ฅผ ์ฌ์ฉ์๊ฐ ์ถ์ธกํ๊ธฐ
- ๊ท์น
- ๋งํ ๋๊น์ง if๋ฌธ์ผ๋ก ๋น๊ตํ๋ฉฐ ๋ฐ๋ณต ( =๊ฐ๋ณ์ ๋ฐ๋ณต๋ฌธ)
- ๋ณ์์ ๊ฐ์ ๋ฐ๋ผ ์ํ ์ฌ๋ถ ๊ฒฐ์
- ์คํ ๊ฒฐ๊ณผ
- ๋ฌธ์ ํด๊ฒฐ
#1
import random # ๋์ ๋ฐ์ ํจ์ ํธ์ถ
#2
guess_number = random.randint(1, 100) # 1~100 ์ฌ์ด ์ ์ ๋์ ๋ฐ์
#3
print("์ซ์๋ฅผ ๋ง์ถฐ๋ณด์ธ์. (1 ~ 100)")
#4
users_input = int(input()) # ์ฌ์ฉ์ ์
๋ ฅ์ ๋ฐ์
#5
while (users_input is not guess_number): # ์ฌ์ฉ์ ์
๋ ฅ๊ณผ ๋์๊ฐ ๊ฐ์์ง ํ๋จ
#6
if users_input > guess_number: # ์ฌ์ฉ์ ์
๋ ฅ์ด ํด ๊ฒฝ์ฐ
print("์ซ์๊ฐ ๋๋ฌด ํฝ๋๋ค.")
else: # ์ฌ์ฉ์ ์
๋ ฅ์ด ์์ ๊ฒฝ์ฐ
print("์ซ์๊ฐ ๋๋ฌด ์์ต๋๋ค.")
#10
users_input = int(input()) # ๋ค์ ์ฌ์ฉ์ ์
๋ ฅ์ ๋ฐ์
#11
else:
#12
print("์ ๋ต์
๋๋ค.", "์
๋ ฅํ ์ซ์๋", users_input, "์
๋๋ค.") # ์ข
๋ฃ ์กฐ๊ฑด
- #1 : random ๋ชจ๋ ์ฌ์ฉ → ์์ ์ ์์ฑ
- ๋ชจ๋ : ๋ค์ํ ํจ์ ๋ฌถ์
- #2 : random ์์ randint() ํจ์ ์ฌ์ฉ → 1,100 ์ซ์ ์ค ์์์ ์ซ์ ์์ฑ → guess_number์ ์ ์ฅ
- #3 : ์ฌ์ฉ์๊ฐ ์ซ์ ์ ๋ ฅํ๋๋ก ์๋ด ๋ฌธ๊ตฌ ์ถ๋ ฅ
- #4 : users_input์ ์ ์ํ์ผ๋ก ๋ณํํ์ฌ ์ ์ฅ
- #5 ~ 10 : ์ฌ์ฉ์ ์ ๋ ฅ๊ฐ๊ณผ guess_number์ด ๋ค๋ฅผ ๋์ while ๋ฌธ ๋ฐ๋ณต ์ํ
- ⇒ ‘users_input is not guess_number’ ์ถฉ์กฑํ ๋์
- #11 ~ 12 : ๊ฐ์์ง๋ฉด ๋ฐ๋ณต๋ฌธ ํ์ถํ์ฌ ์๋ด ๋ฌธ๊ตฌ ์ถ๋ ฅ
์ค์ต ; ์ฐ์์ ์ธ ๊ตฌ๊ตฌ๋จ ๊ณ์ฐ๊ธฐ
์ค์ต ๋ด์ฉ
- ๋ฐ๋ณต๋ฌธ ์กฐ๊ฑด๋ฌธ ํ์ฉ
- ์ค์ฒฉ ๋ฐ๋ณต๋ฌธ ์ดํด
- ์ฐ์์ ์ธ ๊ตฌ๊ตฌ๋จ : ์ฌ์ฉ์๊ฐ ์ข ๋ฃํ ๋ ๊น์ง ์ ๋ ฅํ ์ซ์์ ๋ํ ๊ตฌ๊ตฌ๋จ ๊ฒฐ๊ณผ ์ถ๋ ฅ
- 0 ์ ๋ ฅ ์, ํ๋ก๊ทธ๋จ ์ข ๋ฃ
- ๊ท์น
- ์คํ ๊ฒฐ๊ณผ
- ๋ฌธ์ ํด๊ฒฐ
print("๊ตฌ๊ตฌ๋จ ๋ช ๋จ์ ๊ณ์ฐํ ๊น์(1~9)?")
#2
x = 1
#3
while (x is not 0):
#4
x = int(input())
#5
if x == 0: break
#6
if not(1 <= x <= 9):
#7
print("์๋ชป ์
๋ ฅํ์ต๋๋ค", "1๋ถํฐ 9 ์ฌ์ด ์ซ์๋ฅผ ์
๋ ฅํ์ธ์.")
#8
continue
#9
else:
#10
print("๊ตฌ๊ตฌ๋จ " + str(x) + "๋จ์ ๊ณ์ฐํฉ๋๋ค.")
#11
for i in range(1,10):
#12
print(str(x) + " x " + str(i) + " = " + str(x*i))
#13
print("๊ตฌ๊ตฌ๋จ ๋ช ๋จ์ ๊ณ์ฐํ ๊น์(1~9)?")
#14
print("๊ตฌ๊ตฌ๋จ ๊ฒ์์ ์ข
๋ฃํฉ๋๋ค.")
- #2 : while๋ฌธ ์์ํ ๋ ์ด๊ธฐํ / ‘x is not 0’์ ๋ง์กฑํ๊ธฐ ์ํด
- #3 : while ๋ฐ๋ณต๋ฌธ ์์
- #4 : ์ฌ์ฉ์์๊ฒ ๊ฐ ์ ๋ ฅ๋ฐ์ x ํ ๋น
- #5 : 0 ํ ๋น๋ ๋ ํ๋ก๊ทธ๋จ ์ข ๋ฃ → #14ํ ์คํ
- #6 ~8 : x๊ฐ 1 ~9๊ฐ ์๋ ๊ฒฝ์ฐ → ์๋ด ๋ฌธ๊ตฌ ์ถ๋ ฅ → #4ํ์ผ๋ก ์ด๋
- #9 ~ 13 : x๊ฐ 1 ~ 9์ผ ๋ for๋ฌธ์ผ๋ก ๊ตฌ๊ตฌ๋จ ๊ฒฐ๊ณผ ์ถ๋ ฅ
- ์ค์ฒฉ ๋ฐ๋ณต๋ฌธ(nested loop)!
'๐ ์คํฐ๋ > ํ์ด์ฌ ์คํฐ๋ ๊ฐ์์๋ฃ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[2ํ/๊น์ธ์ฐ] 4์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ๋ฐ๋ณต๋ฌธ (0) | 2023.03.29 |
---|---|
[4ํ/์ด์ ์] 4์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ๋ฐ๋ณต๋ฌธ (0) | 2023.03.28 |
[3ํ/์ด์งํ] 4์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ๋ฐ๋ณต๋ฌธ (0) | 2023.03.26 |
[1ํ/ํ๊ท๋ฆผ] 3์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ์กฐ๊ฑด๋ฌธ (0) | 2023.03.23 |
[2ํ/๊น์ธ์ฐ] 3์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ์กฐ๊ฑด๋ฌธ (0) | 2023.03.23 |