1. Python ๊ต์ก ๋ด์ฉ ํ๊ธฐ (๊ณผ์ )
- ๋ฌธ์์ด๊ณผ ๋ด์ฅํจ์
- ๊ณฑ์ , ๋ง์ , ์ธ๋ฑ์ฑ, ์ฌ๋ผ์ด์ฑ
- len(๋ฌธ์์ด) : ๋ฌธ์์ด ๊ธธ์ด ๋ฐํ
- ๋ฌธ์์ด.count('ํน์ ๋ฌธ์') : ๋ฌธ์์ด ๋ด์์ ํน์ ๋ฌธ์๊ฐ ๋ฑ์ฅํ ํ์ ๋ฐํ
- ๋ฌธ์์ด.split('ํน์ ๊ธฐ์ค') : ๋ฌธ์์ด์ (ํน์ ๊ธฐ์ค์ผ๋ก) ๋๋์ด ๋ฐํ
- ๋ฌธ์์ด.find('๋ฌธ์'), ๋ฌธ์์ด.index('๋ฌธ์') : ํน์ ๋ฌธ์ ์ธ๋ฑ์ค ์ฐพ์ ๋ฐํ
- ๋ฆฌ์คํธ์ ๋ด์ฅํจ์
- ๋ณํ ์๋ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋๋ํ ๋ฌถ์ด์ฃผ๋ ์๋ฃํ
- ๊ณฑ์ , ๋ง์ , ์ธ๋ฑ์ฑ, ์ฌ๋ผ์ด์ฑ
- len(๋ฆฌ์คํธ) : ๋ฆฌ์คํธ์ ๊ธธ์ด ๋ฐํ
- ๋ฆฌ์คํธ.sort() : ๋ฆฌ์คํธ ์ฐ๋์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ์ฌ ๋ฐํ
- ๋ฆฌ์คํธ.index(์์) : ๋ฆฌ์คํธ ๋ด์ ํน์ ์์ ์ธ๋ฑ์ค ๋ฐํ
- ๋ฆฌ์คํธ.count(์์) : ๋ฆฌ์คํธ ๋ด์ ํน์ ์์ ๊ฐฏ์ ๋ฐํ
- ๋์
๋๋ฆฌ์ ๋ด์ฅํจ์
- KEY : ํ์์ ๊ธฐ์ค, ํค์๋
- VALUE : ํ์์ ๊ธฐ์ค์ ๋์๋๋, ์ฐพ๊ณ ์ ํ๋ ๊ฐ
- ๋์ ๋๋ฆฌ[KEY]=VALUE : ํ๋์ KEY-VALUE ์์ ์ถ๊ฐ
- del ๋์ ๋๋ฆฌ[KEY] : ํน์ KEY-VALUE ์์ ์ญ์
- ๋์ ๋๋ฆฌ.get(KEY) : KEY๋ก VALUE ์ป์ด์ค๊ธฐ
- ๋ถ๊ธฐ๋ฌธ
- ์ปดํจํฐ์๊ฒ ์ ํ์ ์ฌ์ง์ ์กฐ๊ฑด์ ๋ถ์ฌ
- if ์กฐ๊ฑด1 : ๋ง์ฝ ์กฐ๊ฑด1์ด ์ถฉ์กฑํ๋ฉด ์ฐธ
- elif ์กฐ๊ฑด2 : ์กฐ๊ฑด1์๋ ์ถฉ์กฑํ์ง ์์ผ๋ฉด์ ์กฐ๊ฑด2๋ ์ถฉ์กฑํ๋ฉด ์ฐธ
- else : ์กฐ๊ฑด1๊ณผ ์กฐ๊ฑด2 ๋ชจ๋ ๋ง์กฑํ์ง ์์ผ๋ฉด ์ฐธ
- ๋ฐ๋ณต๋ฌธ
- for ๋ฐ๋ณต์ ์ด๋ณ์ in ๋ฐ๋ณต๋์ : ๋ฐ๋ณต๋์์ด ๋ฐ๋ณต๋์ด ํธ์ถ
- range(x,y) : x์ด์ y๋ฏธ๋ง์ ์ ๋ฆฌ์คํธ๋ก ๋ฐํ
- range(x) : 0๋ถํฐ x๋ฏธ๋ง์ ์ ๋ฆฌ์คํธ๋ก ๋ฐํ
- while (์กฐ๊ฑด) : ์กฐ๊ฑด์ด ๋ง์กฑํ ๋ ๋์ ๋ฐ๋ณต ์ํ
- break : ๋ฐ๋ณต๋ฌธ์ ์ค๋จ์ํค๋ ์ฝ๋
- ํจ์
- ๊ธธ๊ณ ๋ณต์กํ ์ฝ๋๋ฅผ ๊ธฐ๋ฅ๋ณ๋ก ๋๋์ด์ ๊ฐ๋จํ๊ณ ์งง๊ณ ๋จ์ํ๊ฒ ๋ง๋ค์ด์ฃผ๋ ๋ฌธ๋ฒ
- def ํจ์(x,y) : x์ y๋ฅผ ์ธ์๋ก ํ๋ ํจ์ ์ ์ธ
- ์ ์ญ๋ณ์ : ์ฝ๋ ์ ์ฒด์ ์์ญ์์ ์ํฅ๋ ฅ์ ๊ฐ๋ ๋ณ์
- ์ง์ญ๋ณ์ : ํจ์ ์์์๋ง ์ํฅ๋ ฅ์ ๊ฐ๋ ๋ณ์
2. Python ์ค์ต
์ค์ต 1) ์ํ ์ ์ ์๋ ์ฑ์ ํ๋ก๊ทธ๋จ
cut = 65, maximum = 100, minimum = 0
์์ ๊ฐ์ด ๋ณ์๋ฅผ ์ ์ํ๊ณ ์ ์ ๋ก๋ถํฐ 3๊ฐ์ง ๊ณผ๋ชฉ์ ์ํ ์ ์ ๊ฐ์ ๋ฐ์
์กฐ๊ฑด1) ๋ชจ๋ ์ ์๊ฐ 65์ ์ด์์ผ ๋ ‘ํฉ๊ฒฉ’ ์ถ๋ ฅ
์กฐ๊ฑด2) 0~100์ด ์๋ ์ซ์๋ฅผ ์ ๋ ฅํ์ ๋๋ ‘์๋ชป๋ ์ ์๊ฐ ์ ๋ ฅ๋์์ต๋๋ค’ ์ถ๋ ฅํ๊ธฐ
# ์ค์ต1) ์ํ ์ ์ ์๋ ์ฑ์ ํ๋ก๊ทธ๋จ
# ๊ธฐ์ค ๋ณ์ ์ค์
cut = 65
maximum = 100
minimum = 0
# ์ ์ ์
๋ ฅ
num1 = int(input('์ฐฝ์ฌ์ฝ: '))
num2 = int(input('์ ํ๋์: '))
num3 = int(input('์ปดํจํฐ๊ณตํ: '))
# ์
๋ ฅ ํ์ธ (์ถ๋ ฅ)
print('์ ์', num1, num2, num3)
# ์
์ค ํ๋๋ผ๋ 100๋ณด๋ค ํฐ ์๊ฐ ์
๋ ฅ๋ ๊ฒฝ์ฐ -> ์๋ชป ์
๋ ฅ
if num1 > maximum or num2 > maximum or num3 > maximum:
print('์๋ชป๋ ์ ์๊ฐ ์
๋ ฅ๋์์ต๋๋ค. (100 ์ด์)')
# ์
์ค ํ๋๋ผ๋ 0๋ณด๋ค ์์ ์๊ฐ ์
๋ ฅ๋ ๊ฒฝ์ฐ -> ์๋ชป ์
๋ ฅ
elif num1 < minimum or num2 < minimum or num3 < minimum:
print('์๋ชป๋ ์ ์๊ฐ ์
๋ ฅ๋์์ต๋๋ค. (0 ์ดํ)')
# ๋ชจ๋ 65์ ์ ๋์ ๊ฒฝ์ฐ -> ํฉ๊ฒฉ
elif num1 > cut and num2 > cut and num3 > cut:
print('ํฉ๊ฒฉ์
๋๋ค.')
# ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ -> ๋ถํฉ๊ฒฉ
else:
print('๋ถํฉ๊ฒฉ์
๋๋ค. ์ฌ์๊ฐ ํ์ธ์.')
์ค์ต 2) ์ ์ DB ๊ฐฑ์ ํ๋ก๊ทธ๋จ
dicUser = {}
์ ๋์ ๋๋ฆฌ๋ฅผ ์ ์ํ๊ณ , ‘userinfo()’๋ผ๋ ํจ์๋ฅผ ๋ง๋ค์ด
์ด๋ฆ / ๋์ด / ์ฐ๋ฝ์ฒ 3๊ฐ์ง ์ ๋ณด๋ฅผ ์ ๋ ฅ ๋ฐ์ dicUser๋ฅผ ์ ๋ฐ์ดํธ ํด์ฃผ์ธ์.
* ํํธ print(dicUser) ์ {‘name’: ‘์ด๋ฆ’, ‘age’: ‘๋์ด’, ‘phone’: ‘์ฐ๋ฝ์ฒ’} ์ผ๋ก ์ถ๋ ฅ๋๋ฉด ์ฑ๊ณต!
# ์ค์ต2) ์ ์ DB ๊ฐฑ์ ํ๋ก๊ทธ๋จ
# dictionary ๋ณ์ ์ ์ธ
dicUser = {}
# ์ฌ์ฉ์ ์ ๋ณด input ํจ์
def userInfo(comment):
val = input(comment)
return val
# userInfo ํจ์๋ฅผ ์ด์ฉํ์ฌ input ๋ฐ์
name = userInfo('์ด๋ฆ: ')
age = userInfo('๋์ด: ')
phone = userInfo('์ฐ๋ฝ์ฒ: ')
# dicUser ๋์
๋๋ฆฌ์ input ๋ฐ์ ๊ฐ ์
๋ฐ์ดํธ
dicUser.update({'name': name})
dicUser.update({'age': age})
dicUser.update({'phone': phone})
# ์ถ๋ ฅ
print(dicUser)
์ค์ต 3) ๊ณผ์ผ, ์ฑ์๊ฐ๊ฒ ์ํ ๊ด๋ฆฌ ํ๋ก๊ทธ๋จ
fruit = [‘์ฌ๊ณผ’, ‘์ค๋ ์ง’] vegetable = [‘๋น๊ทผ’, ‘ํธ๋ฐ’]
์์ ๊ฐ์ ๋ฆฌ์คํธ 2๊ฐ๋ฅผ ๋ง๋ค๊ณ ์ ์ ๋ก๋ถํฐ ์นดํ ๊ณ ๋ฆฌ์ ์ํ๋ช ์ ์ ๋ ฅ ๋ฐ์
์นดํ ๊ณ ๋ฆฌ๊ฐ ๊ณผ์ผ์ผ ๋๋ fruit ๋ฆฌ์คํธ์, ์นดํ ๊ณ ๋ฆฌ๊ฐ ์ฑ์์ผ ๋๋ vegetable ๋ฆฌ์คํธ์ ์ํ์ ์ถ๊ฐํ๊ณ
๋ฆฌ์คํธ์ ๋ชจ๋ ๋ด์ฉ์ ์ถ๋ ฅํด ์ฃผ์ธ์.
๋จ, ์นดํ ๊ณ ๋ฆฌ๋ช ์ด ์ฑ์๋ ๊ณผ์ผ์ด ์๋ ๊ฒฝ์ฐ ‘์กด์ฌํ์ง ์๋ ์นดํ ๊ณ ๋ฆฌ์ ๋๋ค.’ ์ด๋ฏธ ๋ฑ๋ก๋์ด ์๋ ๊ฒฝ์ฐ ‘์ด๋ฏธ ๋ฑ๋ก๋ ๊ณผ์ผ์ ๋๋ค’ or ‘์ด๋ฏธ ๋ฑ๋ก๋ ์ฑ์์ ๋๋ค’๋ฅผ ์ถ๋ ฅํด์ฃผ์ธ์.
# ์ค์ต3) ๊ณผ์ผ,์ฑ์ ํ๋ก๊ทธ๋จ
# ๊ธฐ์กด DB ์ค์
fruit = ['์ฌ๊ณผ','์ค๋ ์ง','ํฌ๋','ํ์ธ์ ํ']
vegetable = ['๋น๊ทผ','ํธ๋ฐ','์์์ถ','๋ธ๋ก์ฝ๋ฆฌ']
# ์นดํ
๊ณ ๋ฆฌ์ ์ํ๋ช
์
๋ ฅ
cate = input('๋ฑ๋กํ ์นดํ
๊ณ ๋ฆฌ๋ฅผ ์ ํํด์ฃผ์ธ์ (๊ณผ์ผ/์ฑ์): ')
name = input('๋ฑ๋กํ ์ํ๋ช
์ ์
๋ ฅํ์ธ์: ')
# ์นดํ
๊ณ ๋ฆฌ๊ฐ ์ฑ์์ผ ๊ฒฝ์ฐ
if cate == '์ฑ์':
# ์ํ๋ช
์ด ๊ธฐ์กด DB์ ์กด์ฌํ ๊ฒฝ์ฐ -> ๋ฑ๋ก X
if name in vegetable:
print('์ด๋ฏธ ๋ฑ๋ก๋ ์ฑ์์
๋๋ค.')
# ์ํ๋ช
์ด ๊ธฐ์กด DB์ ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ -> ๋ฑ๋ก
else:
vegetable.append(name)
# ์นดํ
๊ณ ๋ฆฌ๊ฐ ๊ณผ์ผ์ผ ๊ฒฝ์ฐ
elif cate == '๊ณผ์ผ':
# ์ํ๋ช
์ด ๊ธฐ์กด DB์ ์กด์ฌํ ๊ฒฝ์ฐ -> ๋ฑ๋ก X
if name in fruit:
print('์ด๋ฏธ ๋ฑ๋ก๋ ๊ณผ์ผ์
๋๋ค.')
# ์ํ๋ช
์ด ๊ธฐ์กด DB์ ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ -> ๋ฑ๋ก
else:
fruit.append(name)
# ์นดํ
๊ณ ๋ฆฌ๊ฐ ๊ณผ์ผ ๋๋ ์ฑ์๊ฐ ์๋ ๊ฒฝ์ฐ -> ์๋ชป ์
๋ ฅ
else:
print('์กด์ฌํ์ง ์๋ ์นดํ
๊ณ ๋ฆฌ์
๋๋ค.')
# ๊ณผ์ผ, ์ฑ์ ๋ฆฌ์คํธ ์ถ๋ ฅ
print(fruit, vegetable)
๊ณผ์ ) ๊ณผ์ผ, ์ฑ์๊ฐ๊ฒ ์ํ ๊ด๋ฆฌ ํ๋ก๊ทธ๋จ ํจ์ํ
‘๊ณผ์ผ์ฑ์๊ฐ๊ฒ ์ํ๊ด๋ฆฌ ํ๋ก๊ทธ๋จ’ ์ค์ต ํจ์๋ฅผ ํ์ฉํ์ฌ ๊ฐ๋ฐ
# ๋ฆฌ์คํธ ๋๊ฐ๋ฅผ ๋ง๋ค๊ณ ์ ์ ๋ก๋ถํฐ ์นดํ ๊ณ ๋ฆฌ์ ์ํ๋ช ์ ์ ๋ ฅ๋ฐ์
#1. (๋จ์ผ๊ธฐ๋ฅ) ์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ ฅ๋ฐ๊ธฐ ์ํ ํจ์: WriteItem
#2. (๋จ์ผ๊ธฐ๋ฅ) ์ ํ ์ค๋ณตํ์ธ ํจ์: ExistItem
#3. (๋จ์ผ๊ธฐ๋ฅ) ํด๋น ์นดํ ๊ณ ๋ฆฌ ๋ชฉ๋ก ๋ฐํ ํจ์: GetShowList
# 4. (๋ฉ์ธ๋ก์ง) ์นดํ ๊ณ ๋ฆฌ๋ณ ์ ํ ๋ฑ๋ก ํจ์: AddNew
# 5. ๋ฉ์ธ ๋ก์ง ํจ์ ํธ์ถ
# ๊ณผ์ ) ๊ณผ์ผ, ์ฑ์ ํ๋ก๊ทธ๋จ ํจ์ํ
# ๊ธฐ์กด DB ์ค์
fruit = ['์ฌ๊ณผ','์ค๋ ์ง','ํฌ๋','ํ์ธ์ ํ']
vegetable = ['๋น๊ทผ','ํธ๋ฐ','์์์ถ','๋ธ๋ก์ฝ๋ฆฌ']
# ์ฌ์ฉ์๋ก๋ถํฐ ์
๋ ฅ๋ฐ๊ธฐ ์ํ ํจ์
def WriteItem():
category = input('๋ฑ๋กํ ์นดํ
๊ณ ๋ฆฌ๋ฅผ ์ ํํด์ฃผ์ธ์ (๊ณผ์ผ/์ฑ์): ')
if category != '์ฑ์' and category != '๊ณผ์ผ':
return 0, 0
item = input('๋ฑ๋กํ ์ํ๋ช
์ ์
๋ ฅํ์ธ์: ')
return category, item
# ์ ํ ์ค๋ณตํ์ธ ํจ์
def ExistItem(category, item):
if category == '์ฑ์':
if item in vegetable:
return 0
else:
return 1
elif category == "๊ณผ์ผ":
if item in fruit:
return 0
else:
return 1
# ํด๋น ์นดํ
๊ณ ๋ฆฌ ๋ชฉ๋ก ๋ฐํ ํจ์
def GetShowList(category):
print("๋ค์์ %s ์นดํ
๊ณ ๋ฆฌ ๋ชฉ๋ก์
๋๋ค." %category)
if category == '์ฑ์':
print(vegetable)
elif category == "๊ณผ์ผ":
print(fruit)
# ์นดํ
๊ณ ๋ฆฌ๋ณ ์ ํ ๋ฑ๋ก ํจ์
def AddNew():
cate, name = WriteItem()
if cate == 0:
print("์กด์ฌํ์ง ์๋ ์นดํ
๊ณ ๋ฆฌ์
๋๋ค.")
return 0
exist = ExistItem(cate, name)
if exist == 0:
print("์ด๋ฏธ ๋ฑ๋ก๋์ด์๋ ์ํ์
๋๋ค.")
elif cate == "์ฑ์":
vegetable.append(name)
GetShowList(cate)
else:
fruit.append(name)
GetShowList(cate)
AddNew()
1์ฃผ์ฐจ์ ๋ฐฐ์ ๋ HTML/CSS์ ์ด๋ฒ ์ธ์ ์์ ๋ฐฐ์ด ํ์ด์ฌ์ ๊ธฐ๋ณธ์ง์์ด ์๋ ์ํ์์ ๊ฐ๋ ์ ํํํ๊ฒ ๋ค์ง๋ค๋ ๋ง์์ผ๋ก ์๊ฐํ๋ค. ๋ค์ ์ธ์ ๋ถํฐ๋ ์ฒ์ ์ ํด๋ณด๋ Django๋ฅผ ๋ค๋ฃฌ๋ค๊ณ ํ๋ ๋ง์ด ๊ธฐ๋๊ฐ ๋๋ค!๐