a, b = input().split() # 입력시에 공백을 두어 입력을 수행
print(a, b)
3 5 3 5
a, b = input().split(",") # 입력시에 ','을 기준으로 두 개의 값으로 구분
print(a, b)
3,5 3 5
a = int(a)
b = int(b)
print(a+b)
print(a-b)
print(a*b)
8 -2 15
def two_plus(a,b):
print(a + b)
print(a - b)
print(a * b)
a, b = input().split(",") # 입력받은 값을 공백을 기준으로 분리
a = int(a)
b = int(b)
two_plus(a,b)
4,10 14 -6 40
함수화를 통해 코드의 반복을 줄일 수 있고, 추후 공동작업시에도 수정 및 기능 추가가 효율적이다.
def 함수명():
실행문장1
실행문장1
# 실행을 위해서는 함수명 재호출해야함.
함수명()
def 함수명(매개변수1, 매개변수2):
실행문장1
실행문장1
# 실행을 위해서는 함수명 재호출해야함.
함수명(인자1, 인자2)
def two_plus(a,b): # a,b 는 매개변수
print(a + b)
print(a - b)
print(a * b)
a1 = 3
b1 = 5
two_plus(a1,b1) # a1, b1는 인수
8 -2 15
# 참고 예
print( eval("3+5") )
print( eval("3-5-10"))
print( eval("3*5*10"))
8 -12 150
def 함수명(매개변수1, 매개변수2):
실행문장1
실행문장1
return [전달내용]
# 실행을 위해서는 함수명 재호출해야함.
var = 함수명(인자1, 인자2)
def two_plus(a,b):
num1 = a+b
return num1
a = 3
b = 5
result = two_plus(a,b)
print(result)
8
def two_op(a,b):
num1 = a+b
num2 = a-b
num3 = a*b
num4 = a/b
return num1, num2, num3, num4
a = 3
b = 5
r1, r2, r3, r4 = two_op(a,b)
print("더하기 :", r1)
print("빼기 :", r2)
print("곱하기 :", r3)
print("나누기 :", r4)
더하기 : 8 빼기 : -2 곱하기 : 15 나누기 : 0.6
def 함수명(*매개변수):
실행문장1
# 실행을 위해서는 함수명 재호출해야함.
var = 함수명(인자1, 인자2)
def mul_op(*args):
sum = 0
for i in args:
sum += i
return sum
mul_op(1,2,3,4,5)
15
mul_op(3,4,5)
12
def 함수명(매개변수1, 매개변수2=0):
실행문장1
# 실행을 위해서는 함수명 재호출해야함.
var = 함수명(인자1, 인자2)
def two_op2(a,b=0):
num1 = a+b
num2 = a-b
return num1, num2
a = 3
b = 5
r1, r2 = two_op2(a,b)
print("더하기 :", r1)
print("빼기 :", r2)
더하기 : 8 빼기 : -2
a = 3
r1, r2 = two_op2(a) # 원래 인수가 없을 때는 함수에서 정의된 초기값을 쓴다.
print("더하기 :", r1) # 3+0
print("빼기 :", r2) # 3-0
더하기 : 3 빼기 : 3
lambda 인수1, 인수2... : 수식(함수의 몸체)
lambda arguments : 수식(expression)
sum = lambda x, y:x + y;
print("두수의 합 :", sum(10,30))
두수의 합 : 40
# 함수 사용
def two_sum(a,b):
return a + b
print("두수의 합 :", two_sum(10,30))
두수의 합 : 40
plus1_lambda = lambda x : x + 1
print("5에 1을 더하면 : ", plus1_lambda(5))
5에 1을 더하면 : 6
# 리스트로부터 2의 배수만 추출
my_list = [1,3,5,6,2,3,5]
# filter( 조건 함수, 리스트와 같은 데이터) : 여러개의 데이터에서 일부 값 추출
new_list = list(filter(lambda x : (x%2 == 0), my_list ) )
print(new_list)
[6, 2]
map(함수, 리스트,튜플 등)
map(함수, 반복가능 item)
# 리스트로부터 2의 배수만 추출
my_list = [1,3,5,6,2,3,5]
# filter( 조건 함수, 리스트와 같은 데이터) : 여러개의 데이터에서 일부 값 추출
new_list = list(map(lambda x : x*2, my_list ) )
print(new_list)
[2, 6, 10, 12, 4, 6, 10]
파일 만들기 mymod.py
def mod_two_op(a,b=0):
num1 = a+b
num2 = a-b
return num1, num2
[syntax] import 모듈이름
import mymod
a = 5
b = 10
n1, n2 = mymod.mod_two_op(a, b)
print("두 값의 합 : ", n1)
print("두 값의 차 : ", n2)
두 값의 합 : 15 두 값의 차 : -5
import os
# 현재 위치 확인
print( os.getcwd() )
/Users/toto/Documents/GitHub/CLASS_PY_LIB_LEVELUP_code/02_PYTHON
# 현재 위치의 디렉터리 및 파일 확인
print( os.listdir() )
['01_01_python_review.pdf', '01_01_python_review.html', '01_05A_.py', '.DS_Store', 'workspace.code-workspace', '01_02A_project_excel.ipynb', '01_02B_project_excel.ipynb', '01_04_address_search.py', 'address.xlsx', '__pycache__', '주소록.xlsx', '01_03_tkinter', '01_02B_project_excel.pdf', '01_01_python_review.ipynb', '.ipynb_checkpoints', '01_04_fnc_lambda_module.ipynb', 'mymod.py', '01_04_file_read_lambda.ipynb', '01_02A_project_excel.html', '주소록_chk.xlsx', '01_02A_project_excel.pdf']
# 현재 위치에 새로운 디렉터리 만들기
print( os.mkdir("mydir") )
print( os.listdir() )
None ['01_01_python_review.pdf', '01_01_python_review.html', '01_05A_.py', '.DS_Store', 'workspace.code-workspace', '01_02A_project_excel.ipynb', '01_02B_project_excel.ipynb', '01_04_address_search.py', 'address.xlsx', '__pycache__', '주소록.xlsx', '01_03_tkinter', '01_02B_project_excel.pdf', '01_01_python_review.ipynb', '.ipynb_checkpoints', '01_04_fnc_lambda_module.ipynb', 'mymod.py', '01_04_file_read_lambda.ipynb', '01_02A_project_excel.html', '주소록_chk.xlsx', '01_02A_project_excel.pdf', 'mydir']
# 현재 위치에 디렉터리 삭제
print( os.rmdir("mydir") )
print( os.listdir() )
None ['01_01_python_review.pdf', '01_01_python_review.html', '01_05A_.py', '.DS_Store', 'workspace.code-workspace', '01_02A_project_excel.ipynb', '01_02B_project_excel.ipynb', '01_04_address_search.py', 'address.xlsx', '__pycache__', '주소록.xlsx', '01_03_tkinter', '01_02B_project_excel.pdf', '01_01_python_review.ipynb', '.ipynb_checkpoints', '01_04_fnc_lambda_module.ipynb', 'mymod.py', '01_04_file_read_lambda.ipynb', '01_02A_project_excel.html', '주소록_chk.xlsx', '01_02A_project_excel.pdf']
print( os.listdir() )
['01_01_python_review.pdf', '01_01_python_review.html', '01_05A_.py', '.DS_Store', 'workspace.code-workspace', '01_02A_project_excel.ipynb', '01_02B_project_excel.ipynb', '01_04_address_search.py', 'address.xlsx', '__pycache__', '주소록.xlsx', '01_03_tkinter', '01_02B_project_excel.pdf', '01_01_python_review.ipynb', '.ipynb_checkpoints', '01_04_fnc_lambda_module.ipynb', 'mymod.py', '01_04_file_read_lambda.ipynb', '01_02A_project_excel.html', '주소록_chk.xlsx', '01_02A_project_excel.pdf']
import shutil
shutil.copy("mydata.txt", "mydata_bak.txt")
print( os.listdir() )
['01_01_python_review.pdf', '01_01_python_review.html', '01_05A_.py', '.DS_Store', 'workspace.code-workspace', 'mydata.txt', '01_02A_project_excel.ipynb', '01_02B_project_excel.ipynb', 'mydata_bak.txt', '01_04_address_search.py', 'address.xlsx', '__pycache__', '주소록.xlsx', '01_03_tkinter', '01_02B_project_excel.pdf', 'mymod1.py', '01_01_python_review.ipynb', '.ipynb_checkpoints', '01_04_fnc_lambda_module.ipynb', 'mymod.py', '01_04_file_read_lambda.ipynb', '01_02A_project_excel.html', '주소록_chk.xlsx', '01_02A_project_excel.pdf']
shutil.copy("mymod.py", "mymod1.py")
print( os.listdir() )
['01_01_python_review.pdf', '01_01_python_review.html', '01_05A_.py', '.DS_Store', 'workspace.code-workspace', 'mydata.txt', '01_02A_project_excel.ipynb', '01_02B_project_excel.ipynb', 'mydata_bak.txt', '01_04_address_search.py', 'address.xlsx', '__pycache__', '주소록.xlsx', '01_03_tkinter', '01_02B_project_excel.pdf', 'mymod1.py', '01_01_python_review.ipynb', '.ipynb_checkpoints', '01_04_fnc_lambda_module.ipynb', 'mymod.py', '01_04_file_read_lambda.ipynb', '01_02A_project_excel.html', '주소록_chk.xlsx', '01_02A_project_excel.pdf']
import time
# 현재 시간을 실수형태로 표현
time.time()
1654760926.093667
# 현재 시간을 실수형태로 표현된 것을 년월일시분초로 표현
a = time.time()
time.localtime(a)
time.struct_time(tm_year=2022, tm_mon=6, tm_mday=9, tm_hour=16, tm_min=48, tm_sec=46, tm_wday=3, tm_yday=160, tm_isdst=0)
# 원하는 포맷으로 출력
# 자세한 포맷은 링크 참조 : https://wikidocs.net/33
loc_time = time.localtime(time.time())
time.strftime("%Y/%m/%d %H/%M/%S", loc_time)
'2022/06/09 16/48/46'
### 몇초동안 실행을 지연시킨다.
import time
print("지금부터 5초")
time.sleep(5)
print("5초후 출력")
지금부터 5초 5초후 출력
import random
# 0.0에서 1.0사이의 실수 중에서 난수값을 발생
random.random()
0.7227460188249697
# 1,10 사이의 정수 중에서 난수 발생
random.randint(1,10)
5
# 1,30 사이의 정수 중에서 난수 값 발생
random.randint(1,30)
21
# 가위바위보 중에 하나 난수 발생
a = ['가위', '바위', '보']
num1 = random.randint(0,2)
print(a[num1])
바위
# 가위바위보 중에 하나 난수 발생
a = ['가위', '바위', '보']
me = int( input("가위(0)/바위(1)/보(2) 중의 하나를 선택해 주세요(0,1,2) : "))
num1 = random.randint(0,2)
print("컴퓨터 : " ,a[num1])
print("선택 : " ,a[me])
if a[me]==a[num1]:
print("비겼습니다.")
elif (a[me]=="가위") and (a[num1]=="바위"):
print("졌어요.")
elif (a[me]=="바위") and (a[num1]=="가위"):
print("이겼어요")
else:
print("잘못된 값을 입력했어요.")
가위(0)/바위(1)/보(2) 중의 하나를 선택해 주세요(0,1,2) : 1 컴퓨터 : 가위 선택 : 바위 이겼어요