#1. Calculator ํจ์๋ฅผ ์์ํ๋ UpgradeCalculator๋ฅผ ๋ง๋ค๊ณ , ๊ฐ์ ๋บ ์ ์๋ minus ๋ฉ์๋ ์ถ๊ฐํ๊ธฐ
class Calculator:
def __init__(self):
self.value = 0
def add(self, val):
self.value +=val
class UpgradeCalculator(Calculator):
def minus(self, val):
self.value -= val
cal = UpgradeCalculator()
cal.add(10)
cal.minus(7)
print("1๋ฒ ",cal.value)
#2. ๊ฐ์ฒด๋ณ์ value๊ฐ 100์ด์์ ๊ฐ์ ๊ฐ์ง ์ ์๋๋ก ์ ํํ๋ MaxLimitCalculator ํด๋์ค ๋ง๋ค๊ธฐ (Calculator ํด๋์ค ์์ํ์ฌ)
class MaxLimitCalculator(Calculator):
def add(self, val):
self.value += val
if self.value > 100:
self.value =100
cal=MaxLimitCalculator()
cal.add(50)
cal.add(60)
print("2๋ฒ ", cal.value)
#3. ์ฐธ๊ณผ ๊ฑฐ์ง ์์ธกํ๊ธฐ
a=all([1,2,abs(-3)-3])
b=chr(ord('a'))=='a' #์ ๋์ฝ๋(97)๊ฐ์ ๋ฌธ์๋ก ๋ณํ
print("3๋ฒ a๋ ", a, ", b๋ ",b)
#4. ์์ ์ ๊ฑฐ
#filter์ lambda๋ฅผ ์ฌ์ฉํ์ฌ [1,-2,3,-5,8,-3]์์ ์์๋ฅผ ๋ชจ๋ ์ ๊ฑฐํ๊ธฐ
li = [1,-2,3,-5,8,-3]
def negative(x):
return x<0
#๋ฐ๋ณต๊ฐ๋ฅํ ๊ฐ์ฒด์์ ์ฃผ์ด์ง ํจ์ ์กฐ๊ฑด์ ๋ง๋ ์์๋ง ์ ํํ์ฌ ์๋ก์ด ๋ฐ๋ณต๊ฐ๋ฅํ ๊ฐ์ฒด ์์ฑ
print("4๋ฒ ",list(filter(lambda x: x<0 , li)))
#5. 16์ง์๋ฅผ 10์ง์๋ก ๋ณ๊ฒฝ
#16์ง์ ๋ฌธ์์ด 0xea
a=int(int('0xea',16))
print("5๋ฒ ",a)
#6. ๋ฆฌ์คํธ ํญ๋ชฉ๋ง๋ค 3 ๊ณฑํ์ฌ ๋ฆฌํด
#map๊ณผ lambda๋ฅผ ์ฌ์ฉํ์ฌ [1,2,3,4]์ ๊ฐ ์์๊ฐ์ 3์ด ๊ณฑํด์ง ๋ฆฌ์คํธ ๋ง๋ค๊ธฐ
print("6๋ฒ ",list(map(lambda x: x*3, [1,2,3,4])))
#7. ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ํฉ
#๋ค์ ๋ฆฌ์คํธ์ ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ํฉ ๊ตฌํ๊ธฐ
l = [-8,2,7,5,-3,5,0,1]
print("7๋ฒ ",min(l)+max(l))
#8. ์์์ ๋ฐ์ฌ๋ฆผ - 17/3์ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐ์ฌ๋ฆผํ์ฌ ์์์ 4์๋ฆฌ๊น์ง๋ง ํ์ํ๊ธฐ
print("8๋ฒ ", round(17/3,4))
#9. ๋๋ ํ ๋ฆฌ ์ด๋ํ๊ณ , ํ์ผ ๋ชฉ๋ก ์ถ๋ ฅํ๊ธฐ
#os๋ชจ๋ ์ฌ์ฉ
"""
>>> import os
>>> os.chdir("c:/python")
>>> print=os.popen('dir')
>>> print(print.read())
C ๋๋ผ์ด๋ธ์ ๋ณผ๋ฅจ: OS
๋ณผ๋ฅจ ์ผ๋ จ ๋ฒํธ: E006-4E30
c:\python ๋๋ ํฐ๋ฆฌ
2024-03-04 ์ค์ 09:01 <DIR> .
2024-02-16 ์คํ 01:27 <DIR> .vscode
2024-02-16 ์คํ 02:00 <DIR> 0216
2024-02-23 ์คํ 05:17 <DIR> 0223
2024-02-27 ์ค์ 09:57 <DIR> 0226
2024-02-27 ์ค์ 10:06 <DIR> 0227
2024-02-28 ์คํ 05:00 <DIR> 0228
2024-02-29 ์คํ 05:42 <DIR> 0229
2024-03-04 ์ค์ 11:38 <DIR> 0304
2024-02-29 ์ค์ 10:57 0 a.txt
2024-02-28 ์คํ 01:34 <DIR> game
2024-02-29 ์ค์ 10:57 <DIR> temp
2024-02-29 ์ค์ 11:09 40 test.txt
2024-02-29 ์คํ 02:42 80,019 wikidocs_12.html
3๊ฐ ํ์ผ 80,059 ๋ฐ์ดํธ
11๊ฐ ๋๋ ํฐ๋ฆฌ 254,785,773,568 ๋ฐ์ดํธ ๋จ์
"""
#10 ํ์ผ ํ์ฅ์๊ฐ .py์ธ ํ์ผ๋ง ์ฐพ๊ธฐ
#glob ๋ชจ๋์ ์ฌ์ฉํ์ฌ c:/python/0304 ๋๋ ํ ๋ฆฌ์ ํ์ผ ์ค ํ์ฅ์๊ฐ .py์ธ ํ์ผ๋ง ์ถ๋ ฅ
import glob
print("10๋ฒ ",glob.glob("c:\\python\\0304\\*.py"))
#11 time๋ชจ๋ ์ฌ์ฉํ์ฌ ๋ ์ง ํ์ํ๊ธฐ
#2018/04/03 17:20:32
import time
print("11๋ฒ ",time.strftime("%Y/%m/%d %H:%M:%S"))
#12. random๋ชจ๋๋ก ๋ก๋๋ฒํธ(1~45 ์ฌ์ด ์ซ์ 6๊ฐ, ์ค๋ณต๋ ์ซ์ ๋ถ๊ฐ) ์์ฑ
import random
result=[]
while len(result) < 6:
num = random.randint(1,45) #์ธ๋ฑ์ค๊ฐ ์๋๋ผ ์ซ์๋ฅผ ์ง์
if num in result:
continue
result.append(num)
print("12๋ฒ ",result)
#not in
result=[]
while len(result) <6:
num=random.randint(1,45)
if num not in result:
result.append(num)
print("12๋ฒ ",result)
#์ค๋ณต๋์ง ์๋ ๊ณ ์ ํ ์์๋ค์ ์ ์ฅํ๋ set
result=set()
while len(result) < 6:
num = random.randint(1,45)
result.add(num) #์ค๋ณต๋ ์์๋ฅผ ์ถ๊ฐํ๋ ค๊ณ ํ๋ฉด ๋ฌด์ํจ
print("12๋ฒ ",result)
#13 ๋๋๋ ์์ฒ ์ด๋ณด๋ค ๋ฉฐ์น ๋ ๋จผ์ ํ์ด๋ฌ์๊น?
#์์ฒ ๋๋ 1995๋
11์ 20์ผ
#์์ฒ ์ด 1998๋
10์ 6์ผ
import datetime
sister = datetime.date(1995,11,20)
me = datetime.date(1998,10,6)
diff = abs(sister-me).days
print("14๋ฒ ",f"๋๋๊ฐ ์์ฒ ์ด๋ณด๋ค {diff}์ผ ๋จผ์ ํ์ด๋จ")
#14. ๊ธฐ๋ก์์ผ๋ก ์ ๋ ฌํ๊ธฐ
data = [('Tyler Brown', 14.92),
('Cynthia Reyes', 15.13),
('Jeremy Davis', 13.53),
('April Evans', 16.25),
('Bryan Jacobs', 15.96),
('Melissa Chavez', 16.53),
('Lindsay Jensen', 13.88),
('Chris Spencer', 14.75),
('Amy Thomas', 17.0),
('Brian Bennett', 14.29),
('Eric Martinez', 15.24),
('Victoria Becker', 13.67),
('Scott Ross', 14.14),
('Heather Johnson', 16.12),
('Maria Thomas', 14.36),
('David Allen', 14.47),
('Lisa Garcia', 15.77),
('Steven Harris', 15.6),
('Ashley Smith', 14.02),
('Kevin Turner', 14.85)]
from operator import itemgetter
data = sorted(data,key=itemgetter(1))
print("14๋ฒ ")
for d in data:
print(d)
#15 ์ฒญ์๋น๋ฒ 2๋ช
๋ฝ๊ธฐ
#4๋ช
์ค 2๋ช
์ ๋ฝ์ ์ ์๋ ๊ฒฝ์ฐ์ ์ ๋์ดํ๊ธฐ
import itertools
students = ["๊น์ง์ฐ", "์ด์น์ฐ", "๋ฐ์์ง", "์ ๋ฏผํธ"]
result = list(itertools.combinations(students,2))
print("15๋ฒ")
for i in result:
print(i)
#16๋ฒ ๋ฌธ์์ด ๋์ดํ๊ธฐ
#abcd ๋ฌธ์์ด์ ๋์ดํ๋ ๊ฒฝ์ฐ์ ์ ์ถ๋ ฅํ๊ธฐ
result = itertools.permutations('abcd',4)
print("16๋ฒ")
for i in result:
print(','.join(i))
#17 5๋ช
์๊ฒ ํ ์ผ ๋ถ์ฌํ๊ธฐ
#5๋ช
์ ๋ฌด์์๋ก ์์ด ์์ 3๋ช
์๊ฒ ์ฐจ๋ก๋ก ์ฒญ์, ๋นจ๋, ์ค๊ฑฐ์ง๋ฅผ ์ง์ ํ๊ณ , ๋๋จธ์ง 2๋ช
์๊ฒ๋ ํด์์ ์ง์
people = ["๊น์ง์ฐ", "์ด์น์ฐ", "๋ฐ์์ง", "์ ๋ฏผํธ", "์ก์ง์"]
activities = ["๋นจ๋", "์ฒญ์", "์ค๊ฑฐ์ง"]
#๋ฌด์์๋ก ์์
#random.sample(people,len(people))
random.shuffle(people)
result = itertools.zip_longest(people,activities,fillvalue='ํด์')
print("17๋ฒ")
for r in result:
print(r)
#18๋ฒ ๋ฒฝ์ ํ์ผ ๋ถ์ด๊ธฐ
#๊ฐ๋ก 200, ์ธ๋ก 80์ธ ๋ฒฝ์ ๋๋๋ก ํฐ ์ ์ฌ๊ฐํ ๋ชจ์์ ํ์ผ์ ๋ถ์ด๋ ค๊ณ ํ๋ค.
#์ด ๋ ๋ถ์ด๋ ค๋ ํ์ผ์ ๊ธธ์ด์, ๋ถ์ด๋๋ฐ ํ์ํ ํ์ผ์ ๊ฐ์ ๊ตฌํ๊ธฐ
import math
width = 200
height = 80
side = math.gcd(width,height)
num = (width/side) * (height/side)
print("18๋ฒ",f"ํ ๋ณ์ ๊ธธ์ด๊ฐ {side}์ธ ํ์ผ์ {num}๊ฐ ๋ถ์ผ ์ ์์")