int 5 int 2 main def main def

  • Slides: 43
Download presentation

함수 호출 트레이스 int 5 값을 전달 int 2 값을 전달 main( ) def

함수 호출 트레이스 int 5 값을 전달 int 2 값을 전달 main( ) def main(): def max(num 1, num 2): i=5 if num 1 > num 2: j=2 result = num 1 k = max(i, j) print(i, "와/과", j, "중 큰 수는", k, "입니다. ") else: result = num 2 return result 2017년 하계 KS 프로그래밍 교육

함수 호출 트레이스 - cont 메인함수 호출 main( ) int 5 값을 전달 int

함수 호출 트레이스 - cont 메인함수 호출 main( ) int 5 값을 전달 int 2 값을 전달 def main(): def max(num 1, num 2): i=5 if num 1 > num 2: j=2 result = num 1 k = max(i, j) print(i, "와/과", j, "중 큰 수는", k, "입니다. ") else: result = num 2 return result 2017년 하계 KS 프로그래밍 교육

함수 호출 트레이스 - cont i에 5 저장 int 5 값을 전달 int 2

함수 호출 트레이스 - cont i에 5 저장 int 5 값을 전달 int 2 값을 전달 main( ) def main(): def max(num 1, num 2): i =` 5 if num 1 > num 2: j=2 result = num 1 k = max(i, j) print(i, "와/과", j, "중 큰 수는", k, "입니다. ") else: result = num 2 return result 2017년 하계 KS 프로그래밍 교육

j에 2 저장 int 5 값을 전달 int 2 값을 전달 main( ) def

j에 2 저장 int 5 값을 전달 int 2 값을 전달 main( ) def main(): def max(num 1, num 2): i=5 if num 1 > num 2: j=2 result = num 1 k = max(i, j) print(i, "와/과", j, "중 큰 수는", k, "입니다. ") else: result = num 2 return result 2017년 하계 KS 프로그래밍 교육

함수 호출 트레이스 - cont max(i, j)를 호출 int 5 값을 전달 int 2

함수 호출 트레이스 - cont max(i, j)를 호출 int 5 값을 전달 int 2 값을 전달 main( ) def main(): def max(num 1, num 2): i=5 if num 1 > num 2: j=2 result = num 1 k = max(i, j) print(i, "와/과", j, "중 큰 수는", k, "입니다. ") else: result = num 2 return result 2017년 하계 KS 프로그래밍 교육

함수 호출 트레이스 - cont num 1=5, num 2=2 따라서 (num 1 > num

함수 호출 트레이스 - cont num 1=5, num 2=2 따라서 (num 1 > num 2)는 참 int 5 값을 전달 int 2 값을 전달 main( ) def main(): def max(num 1, num 2): i=5 if num 1 > num 2: j=2 result = num 1 k = max(i, j) print(i, "와/과", j, "중 큰 수는", k, "입니다. ") else: result = num 2 return result 2017년 하계 KS 프로그래밍 교육

함수 호출 트레이스 - cont result에 num 1의 값, 5 저장 int 5 값을

함수 호출 트레이스 - cont result에 num 1의 값, 5 저장 int 5 값을 전달 int 2 값을 전달 main( ) def main(): def max(num 1, num 2): i=5 if num 1 > num 2: j=2 result = num 1 k = max(i, j) print(i, "와/과", j, "중 큰 수는", k, "입니다. ") else: result = num 2 return result 2017년 하계 KS 프로그래밍 교육

함수 호출 트레이스 - cont int 5 값을 전달 int 2 값을 전달 main(

함수 호출 트레이스 - cont int 5 값을 전달 int 2 값을 전달 main( ) def main(): def max(num 1, num 2): i=5 if num 1 > num 2: j=2 result = num 1 k = max(i, j) print(i, "와/과", j, "중 큰 수는", k, "입니다. ") else: result = num 2 return result의 값 5를 반환 2017년 하계 KS 프로그래밍 교육

함수 호출 트레이스 - cont int 5 값을 전달 int 2 값을 전달 main(

함수 호출 트레이스 - cont int 5 값을 전달 int 2 값을 전달 main( ) def main(): def max(num 1, num 2): i=5 if num 1 > num 2: j=2 result = num 1 k = max(i, j) print(i, "와/과", j, "중 큰 수는", k, "입니다. ") else: result = num 2 return result print문을 실행 2017년 하계 KS 프로그래밍 교육

함수 호출 트레이스 - cont int 5 값을 전달 int 2 값을 전달 def

함수 호출 트레이스 - cont int 5 값을 전달 int 2 값을 전달 def main(): def max(num 1, num 2): i=5 if num 1 > num 2: j=2 result = num 1 main( ) k = max(i, j) print(i, "와/과", j, "중 큰 수는", k, "입니다. ") else: result = num 2 return result 호출자에게 반환 2017년 하계 KS 프로그래밍 교육

사례 연구: 10진수를 16진수로 변환하기 • 10진수를 16진수로 변환하는 함수 작성하기 # 10진수를 문자열

사례 연구: 10진수를 16진수로 변환하기 • 10진수를 16진수로 변환하는 함수 작성하기 # 10진수를 문자열 형태의 16진수로 변환한다. def decimal. To. Hex(decimal. Value): hex = "" while decimal. Value != 0: hex. Value = decimal. Value % 16 hex = to. Hex. Char(hex. Value) + hex decimal. Value = decimal. Value // 16 return hex 2017년 하계 KS 프로그래밍 교육

Circle 클래스 생성 import math class Circle: # Circle 클래스를 생성한다. def __init__(self, radius

Circle 클래스 생성 import math class Circle: # Circle 클래스를 생성한다. def __init__(self, radius = 1): self. radius = radius def get. Perimeter(self): return 2 * self. radius * math. pi def get. Area(self): return self. radius * math. pi Filename : circle. py 2017년 하계 KS 프로그래밍 교육

Circle 클래스 테스트 from Circle import Circle def main(): # Create a circle with

Circle 클래스 테스트 from Circle import Circle def main(): # Create a circle with radius 1 circle 1 = Circle() print("반지름 = ", circle 1. radius, " 원의 넓이 = ", circle 1. get. Area()) # Create a circle with radius 25 circle 2 = Circle(25) print("반지름 = ", circle 2. radius, " 원의 넓이 = ", circle 2. get. Area()) Filename : Test. Circle. py # Create a circle with radius 125 circle 3 = Circle(125) print("반지름 = ", circle 3. radius, " 원의 넓이 = ", circle 3. get. Area()) # Modify circle radius circle 2. radius = 100 print("반지름 = ", circle 2. radius, "원의 넓이 = ", circle 2. get. Area()) main() # Call the main function 2017년 하계 KS 프로그래밍 교육

UML 클래스 다이어그램 Circle 클래스 이름 radius: float 데이터 필드 Circle(radius = 1: float)

UML 클래스 다이어그램 Circle 클래스 이름 radius: float 데이터 필드 Circle(radius = 1: float) 생성자 get. Area( ): float 메소드 객체 UML 표기법 circle 1: Circle circle 2: Circle radius = 1 radius = 25 radius = 125 2017년 하계 KS 프로그래밍 교육

클래스 정의와 객체 생성 예 - 소스 class TV: def __init__(self): self. channel =

클래스 정의와 객체 생성 예 - 소스 class TV: def __init__(self): self. channel = 1 # 기본 채널은 1이다. self. volume. Level = 1 # 기본 음량 크기는 1이다. self. on = False # 초기에 TV의 전원을 꺼져있다. def turn. On(self): self. on = True def turn. Off(self): self. on = False def set. Volume(self, volume. Level): if self. on and 1 <= self. volume. Level <= 7: self. volume. Level = volume. Level def channel. Up(self): if self. on and self. channel < 120: self. channel += 1 def get. Channel(self): return self. channel def channel. Down(self): if self. on and self. channel > 1: self. channel -= 1 def set. Channel(self, channel): if self. on and 1 <= self. channel <= 120: self. channel = channel def volume. Up(self): if self. on and self. volume. Level < 7: self. volume. Level += 1 def get. Volume. Level(self): return self. volume. Level def volume. Down(self): if self. on and self. volume. Level > 1: self. volume. Level -= 1 2017년 하계 KS 프로그래밍 교육

BMI 클래스 - 소스 class BMI: def __init__(self, name, age, weight, height): self. __name

BMI 클래스 - 소스 class BMI: def __init__(self, name, age, weight, height): self. __name = name self. __age = age self. __weight = weight self. __height = height def get. BMI(self): KILOGRAMS_PER_POUND = 0. 45359237 METERS_PER_INCH = 0. 0254 bmi = self. __weight * KILOGRAMS_PER_POUND / ((self. __height * METERS_PER_INCH) * (self. __height * METERS_PER_INCH)) return round(bmi * 100) / 100 def get. Status(self): bmi = self. get. BMI() if bmi < 18. 5: return "Underweight" elif bmi < 25: return "Normal" elif bmi < 30: return "Overweight" else: return "Obese" def get. Name(self): return self. __name def get. Age(self): return self. __age def get. Weight(self): return self. __weight def get. Height(self): return self. __height 2017년 하계 KS 프로그래밍 교육

BMI 클래스 테스트 from BMI import BMI def main(): bmi 1 = BMI("John Doe",

BMI 클래스 테스트 from BMI import BMI def main(): bmi 1 = BMI("John Doe", 18, 145, 70) print("The BMI for", bmi 1. get. Name(), "is", bmi 1. get. BMI(), bmi 1. get. Status()) bmi 2 = BMI("Peter King", 50, 215, 70) print("The BMI for", bmi 2. get. Name(), "is", bmi 2. get. BMI(), bmi 2. get. Status()) main() # Call the main function 2017년 하계 KS 프로그래밍 교육

문자열 다루기 http: //ijj. kr/221022262257 http: //blog. naver. com/nasu 0210/220821566903 http: //hayeon 9894. tistory.

문자열 다루기 http: //ijj. kr/221022262257 http: //blog. naver. com/nasu 0210/220821566903 http: //hayeon 9894. tistory. com/18 2017년 하계 KS 프로그래밍 교육

사례 연구: 16진수를 10진수로 변환하기 def main(): # 사용자로부터 16진수 숫자를 입력받는다. hex =

사례 연구: 16진수를 10진수로 변환하기 def main(): # 사용자로부터 16진수 숫자를 입력받는다. hex = input("16진수 숫자를 입력하세요: "). strip() decimal = hex. To. Decimal(hex. upper()) if decimal == None: print("잘못된 16진수 숫자입니다. ") else: print("입력된 16진수 숫자", hex, "에 대한 10진수 표현은", decimal, "입니다. ") def hex. To. Decimal(hex): decimal. Value = 0 for i in range(len(hex)): ch = hex[i] if 'A' <= ch <= 'F' or '0' <= ch <= '9': decimal. Value = decimal. Value * 16 + hex. Char. To. Decimal(ch) else: return None return decimal. Value def hex. Char. To. Decimal(ch): if 'A' <= ch <= 'F': return 10 + ord(ch) - ord('A') else: return ord(ch) - ord('0') main() # main 함수를 호출한다. 2017년 하계 KS 프로그래밍 교육

Reference • 파이썬, Y. Daniel Liang 저, 길준민, 정재화 역, 생능출판 • Introduction to

Reference • 파이썬, Y. Daniel Liang 저, 길준민, 정재화 역, 생능출판 • Introduction to Programming Using Python, Y. Daniel Liang – 저자 사이트 : http: //www. cs. armstrong. edu/liang/py/ 2017년 하계 KS 프로그래밍 교육