강의 : ~중급19
강의 : 중급 1~19 요약
: 리스트를 오름차순으로 정렬하는 함수
: 리스트의 순서를 뒤집어줌
: 리스트의 모든 요소 제거
사용자 함수를 만들 때에는 ‘def’를 사용해야 함.
함수를 만들었다고 해서 프로그램에 들어가는 것이 아니라,
단지 선언만 했을 뿐이다.

<작명 할 떄>
변수 -> 데이터 : 명사를 주로 사용
함수 -> 기능 : 동사를 주로 사용
(위 예시)
addCal() --> 함수명()
def fun1():
print('fun1 호출!')
fun2()
print('fun2 호출 후에 실행!')
def fun2():
print('fun2 호출!')
fun3()
def fun3():
print('fun3 호출!')
fun1()
# 위 실행문 실행 결과
fun1 호출!
fun2 호출!
fun3 호출!
fun2 호출 후에 실행!
이를 이용해 실행문을 생략할 수 있다.
def printTodayWeather():
pass

def addFunc(n1, n2):
print(f'{n1} + {n2} = {n1 + n2}')
addFunc(10, 20)
def printNumber(*numbers):
for number in numbers:
print(number, end='')
print()
printNumber()
printNumber(1)
printNumber(1, 2, 3)



def out_function():
print('out_function called!')
def in_function():
print('in_function called!')
in_function()
out_function() # out_function called!
in_function called!
in_function() # NameError: name 'in_function' is not defined
del calculator(n1, n2, operator):
def addCal():
print(n1 + n2)
def subCal():
print(n1 - n2)
def mulCal():
print(n1 * n2)
def divCal():
print(n1 / n2)
if operator == 1:
addCal()
if operator == 2:
subCal()
if operator == 3:
mulCal()
if operator == 4:
divCal()
while True:
num1 = float(input('n1 입력: '))
num1 = float(input('n1 입력: '))
opeartorNum = int(input(1. 덧 2. 뺄 3. 곱 4. 나눗 5. 종료))
if operatorNum == 5:
print('bye')
break
calculator(num1, num2, operatorNum)

random.randint(n, m)
n부터 m사이의 수 사이의 랜덤 정수를 리턴한다.
random.sample(x, y) --> (범위, 갯수)
: 리스트 타입으로 출력됨
x 자리에는 range()가 올 수도 있고, []가 올 수도 있다.
# 0부터 100사이의 난수 10개
import random
rNums - random.sample(range(1, 101), 10)
print(f'난수 10개: {rNums}')
# 난수 10개 : [59, 5, 48, 28, 16, 60, 57, 92, 77, 66]

import calculator #calculator.py 모듈 임포트
calculator.add(10, 20)
import calculator as cal # as로 모듈 이름 단축
cal.add(10, 20)
실행파일에서 import calculator를 입력하여 모듈 사용
from calculator import add
from calculator import sub
# 위 두줄과 같은 기능: from calculaotr import add, sub
add(10, 20)
sub(10, 20)
from calculator import *
# * : '모두' 라는 뜻을 가짐
# 즉, calculator.py 모듈 내 모든 기능을 다 가져오겠다.
array.append()
: 괄호 안에 입력한 값을 array 맨 끝에 객체로 추가한다.
nums = [1, 2, 3]
nums.append(4) # [1, 2, 3, 4]
nums.append([5, 6]) # [1, 2, 3, 4, [5, 6]]

: 관련있는 모듈을 그룹으로 관리할 수 있다.
from CalculatorForInt import addCal
실행 파일에서 위와 같은 실행문을 이용해서 아래 모듈 패키지를 이용할 수 있음.

sys : 시스템에 대한 간략한 정보를 알려주는 모듈** 외워두면 좋겠다. (아래)
# 합
import random
listVar = [2, 5, 3.14, 58, 10, 2]
print(f'sum(listVar): {sum(listVar)}')
# 최댓값
listVar = [2, 5, 3.14, 58, 10, 2]
print(f'max(listVar): {max(listVar)}')
# 최솟값
listVar = [2, 5, 3.14, 58, 10, 2]
print(f'min(listVar): {min(listVar)}')
# 거듭제곱
print(f'pow(13, 2): {pow(13, 2)}')
print(f'pow(13, 3): {pow(13, 3)}')
print(f'pow(13, 4): {pow(13, 4)}')
# 반올림
print(f'round(3.141592, 1): {round(3.141592, 1)}')
print(f'round(3.141592, 2): {round(3.141592, 2)}')
print(f'round(3.141592, 3): {round(3.141592, 3)}')
print(f'round(3.141592, 4): {round(3.141592, 4)}')
print(f'round(3.141592, 5): {round(3.141592, 5)}')
import math
#절댓값
print(f'math.fabs(-10): {math.fabs(-10)}')
print(f'math.fabs(-0.12895): {math.fabs(-0.12895)}')
# 올림
print(f'math.ceil(5.21): {math.ceil(5.21)}')
print(f'math.ceil(-5.21): {math.ceil(-5.21)}')
# 내림
print(f'math.floor(5.21): {math.floor(5.21)}')
print(f'math.floor(-5.21): {math.floor(-5.21)}')
# 버림
print(f'math.trunc(5.21): {math.trunc(5.21)}')
print(f'math.trunc(-5.21): {math.trunc(-5.21)}')
# 최대공약수
print(f'math.gcd(14, 21): {math.gcd(14, 21)}')
# 팩토리얼
print(f'math.factorial(10): {math.factorial(10)}')
# 제곱근
print(f'math.sqrt(4): {math.sqrt(4)}')
print(f'math.sqrt(12): {math.sqrt(12)}')
# 0이상 1미만 난수
print(f'random.random(): {random.random()}')
# 1이상 20이하 난수
print(f'random.randint(1, 20): {random.randint(1, 20)}')
# 1이상 20미만 난수
print(f'random.randrange(1, 20): {random.randrange(1, 20)}')
# 1이상 21미만 난수 5개
print(f'random.sample(range(1, 21), 5): {random.sample(range(1, 21), 5)}')
# 무작위 한개 추출
listVar = [0, 1, 2, 3, 4, 5, 6]
print(f'random.choice(listVar): {random.choice(listVar)}')
# 섞음
print(f'listVar: {listVar}')
random.shuffle(listVar)
print(f'shuffle listVar: {listVar}')
import time
# 시스템 시간
lt = time.localtime()
print(f'time.localtime(): {lt}')
print(f'lt.tm_year: {lt.tm_year}')
print(f'lt.tm_mon: {lt.tm_mon}')
print(f'lt.tm_mday: {lt.tm_mday}')
print(f'lt.tm_hour: {lt.tm_hour}')
print(f'lt.tm_min: {lt.tm_min}')
print(f'lt.tm_sec: {lt.tm_sec}')
print(f'lt.tm_wday: {lt.tm_wday}')

