def 메소드명(매개변수,...)
실행할 문장
리턴값
번호 | 이름 | 설명 |
---|---|---|
(1) | 메소드명 | 동사로 작성한다. |
(2) | 매개변수 | 매개변수는 f(x) = 2x+1에서 f(x)의 (x)를 뜻함 → 외부에서 값을 전달받기 위해서는 반드시 선언되어야 하며, 생략이 가능하다. |
(3) | 실행할 문장 | 생략가능 |
(4) | 리턴 값 | 생략가능 |
(예시) 두 정수의 덧셈 메소드 만들기
1. 메소드의 이름을 생각한다.
def add()
2. 매개변수를 생각한다.
def add(num1, num2):
3. 실행할 문장을 생각한다.
def add(num1, num2):
result = num1 + num2
def add(num1, num2):
result = num1 + num2
return result
f(x) = 2x+1
def f(x):
return 2*x+1
print(f(3) +9)
def add(num1, num2):
result = num1 + num2
print(result)
add(1, 3)
1~100까지 print()로 출력하는 메소드
def printFrom1To100():
for i in range(100):
print(i+1)
printFrom1To100()
1~10까지의 합을 구하는 메소드
def sumFrom1To10():
result = 0
for i in range(10):
result += i + 1
return result
sumFrom1To10()
자연수를 음수로 바꿔주는 메소드
def changeToNegative(num):
result = 0
if num > 0 :
result = num * -1
else :
result = False
return result
result = changeToNegative(int(input("자연수 : ")))
if not result:
print("자연수만 가능합니다.")
else:
print(result)
1~n까지의 합을 print()로 출력하는 메소드
def printSumFrom1(end):
result = 0
for i in range(end):
result += i + 1
print(result)
printSumFrom1(10) -> 1부터 10까지의 합 출력됨
홀수를 짝수로, 짝수를 홀수로 바꿔주는 메소드
def change(num):
if num > -1 :
num += 1
else :
num = False
return num
num = int(input("정수 : "))
result = change(num)
msg = ""
if not result :
msg = "음수는 불가능합니다."
else:
if result % 2 == 0:
msg = "홀수에서 짝수로 변경되었습니다."
else:
msg = "짝수에서 홀수로 변경되었습니다."
print(msg)
5개의 정수를 오름차순으로 정렬해주는 메소드
def sortASC(numList):
for i in range(len(numList) - 1) :
for j in range(i+1, len(numList)):
if numList[i] > numList[j] :
temp = numList[i]
numList[i] = numList[j]
numList[j] = temp
// 처음 비교를 예로 들면, i는 9가 되고 비교 대상은 i+1인 7,3,1,2가 되기때문에 j는 i+1이 된다.
// range(len(numList)-1)인 이유는 9, 7, 3, 1까지 비교를 다 했다면 마지막 2는 할 필요가 없기 때문
//하지만 j에서는 끝까지 계속 비교를 해줘야하기 때문에 len(numList)로 작성
//temp라는 빈 공간에 임시로 저장을 해두어야 i값과 j값이 섞이지 않는다.(3자 교환)
numList = [9, 7, 3, 1, 2]
sortASC(numList)
print(numList)
5개의 정수 중 최대값과 최소값을 구해주는 메소드
def getMaxAndMin(dataList):
maxData = dataList[0]
minData = dataList[0]
resultList = []
//이런식으로 대소 비교를 할 때는 항상 0번째 값을 기준으로 진행
//따라서 비교도 range(1, len(dataList))부터 시작
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
// 만약 resultList에 담지 않고,
return maxData, minData를 한다면 tuple로 담겨져서 들어옴(방법은 무엇으로 해도 상관 없다)
dataList = [3, 5, 7, 8]
result = getMaxAndMin(dataList)
print("최대값 : " + str(result[0]))
print("최소값 : " + str(result[1]))
소문자를 대문자로 바꿔주는 메소드
def changeToUpper(string):
for i in string:
if ord(i) >= 97 and ord(i) <= 122:
//소문자 a 아스키코드 값은 97, 대문자 A는 65로 두 문자의 아스키코드 값 차이는 32
chr(ord(i) -32)
else :
result += i
return result
한글을 정수로 바꿔주는 메소드(일공이사 → 1024)
def changeToInteger(hangle):
hangle_org = "공일이삼사오율칠팔구"
result = ::
for i in hangle:
result += str(hangle_org.index(i))
// 정수는 연산이 되기 때문에 연결이 안되어서 문자열로 바꿔줌
return int(result)