본문 바로가기
코리아 IT아카데미/python 인터넷 강의

ddazua | 24강 함수 심화 예제

by Sharon kim 2021. 10. 4.

day24>method2.py

#%% method task1
#5개의 정수 중 최대값과 최소값을 구해주는 메소드
def getMaxAndMin(dataList):
    maxData = dataList[0]
    minData = dataList[0]
    resultList = []

    for i in range(1, len(dataList)):
        if maxData < dataList[i]:
            maxData = dataList[i]
        if minData > dataList[i]:
            minData = dataList[i]
    # resultList.append(maxData)
    # resultList.append(minData)
    # return resultList
    return maxData, minData

dataList = [3,5,7,8]
result = getMaxAndMin(dataList)
print(type(result))
print("최대값:" + str(result[0]))
print("최소값:" + str(result[1]))

#%% method task2
#소문자를 대문자로 바꿔주는 메소드
def changeToUpper(string):
    result = ""
    for i in string:
        if ord(i) >= 97 and ord(i) <= 122:
            result += chr(ord(i)-32)
        else:
            result += i
    return result
print(changeToUpper("AsdfTTTTTtttt123!@#$"))

#대문자에서 소문자로도 바꿔볼 것

#%% method task3
# 한글을 정수로 바꿔주는 메소드(일공이사 -> 1024)
def changeToInteger(hangle):
    hangle_org = "공일이삼사오육칠팔구"
    result =""
    for i in hangle:
        result += str(hangle_org.index(i))
    return int(result)

print(changeToInteger("일공이사")+1)

#%% 전역변수(global variable)
    #ㄴ모든 영역에서 사용하는 변수
result = 0
                    #┌초기화할 것은 뒤에 몰아서 해야한다.
def add(num1, num2 = 0):
    global result # 이것 안쓰면 지역변수로 인식함
    result = num1 + num2
    return num1 + num2

def sub(num1, num2):
    global result
    result = num1 - num2
    # return num1 - num2

add(10)
sub(10, 5)
print(result)
# =============================================================
#                     전역변수            지역변수
# 함수 안에서 읽기       가능               가능
# 함수 안에서 수정       불가               가능
#                     (global은 가능)
#
# 함수 밖에서 읽기       가능               선언된 지역에서만 가능
# 함수 밖에서 수정       가능               불가능
# =============================================================