반응형

2020/10 26

[python] OOP 실습 - 커뮤니트 시뮬레이션 만들기

시나리오 커뮤니티 시뮬레이션 응용을 작성하시오. 로긴=>사용=>로긴=>사용=>로긴=>사용...순으로 수행한다. 로긴에서는 사용자 이름을 입력한다. 사용에서는 메뉴 선택에 의해 기능을 수행하는 것을 반복한다. 메뉴: 1.게시글 작성, 2. 게시글 삭제, 3. 게시글 검색, 4. 전체 보기 0.종료 종료를 선택하면 자동 로그아웃 처리되며 다시 로긴을 수행한다. *로긴에서 입력한 사용자 이름이 "Exit"이면 프로그램을 종료한다. 게시글 작성에서는 제목, 내용, 비밀키를 입력받는다. 비밀키를 입력하지 않으면 일반 게시글, 입력하면 비밀 게시글 게시글 삭제에서는 제목, 비밀키를 입력받는다. 비밀게시글은 비밀키가 일치해야 삭제할 수 있다. (*작성자가 아니어도 삭제할 수 있음) Main.py from Applic..

[python] 상속 실습 - 커뮤니티(게시글, 비밀게시글)

클래스 다이어그램과 사용하는 코드에 맞게 클래스를 정의하시오. Main.py comm = Community() comm.Publish("빅데이터","홍길동","빅데이터에 데이터는 빅하네.") comm.Publish("AI","강감차","에잇, 아이야 저리로 가거라.","abcd") comm.View() post = comm.Find("AI") print("제목:",post.title) print("저자:",post.writer) print("내용:",post.content) comm.Remove("빅데이터") comm.View() Step1: 클래스에 멤버를 캡슐화하라. 멤버 메서드에서는 어느 메서드가 수행 중인지만 출력하는 형태로 작성하시오. 예를 들어 View메서드에서는 print("View")로 작..

[python] 상속 실습 - 상품과 할인 상품

주석으로 작성한 시나리오에 맞게 상품과 할인 상품 클래스를 정의하시오. Product.py #Product.py #상품 # 상품명, 제조사,가격, 보유 개수, 판매량 # 생성할 때 상품명과 제조사, 가격을 입력받는다. # 입고 기능에서는 입고 개수를 입력 인자로 받는다. # 판매 기능에서는 출고 개수를 입력 인자로 받는다. # 현황 보기에서는 상품명, 제조사, 가격, 보유 개수, 판매량, 판매 총액을 출력한다. SaleProduct.py #SaleProduct.py #할인 상품:상품에서 파생 # 할인률(생성 시 전달)을 멤버로 갖는다. # 할인현황보기를 제공한다. # - 상품의 현황보기 외에 할인률을 고려하여 출력한다. Main.py from SaleProduct import SaleProduct fro..

[python] 상속 개요 - 책과 프로그래밍 책

Book.py #Book.py class Book: def __init__(self,title, author, publisher, price): self.title = title self.author = author self.publisher = publisher self.price = price ProgrammingBook.py #ProgrammingBook.py from Book import Book class ProgrammingBook(Book): def __init__(self,title,author,publisher,price,language): Book.__init__(self,title,author,publisher,price) self.language = language Main.py f..

[python] 상속 실습 - 음악가, 피아니스트

다음과 같은 시나리오에 맞게 구현하시오. Musician.py #Musician.py #음악가: 이름(생성 시 필수), 스킬(생성 시 필수), 매력(생성 시 전달 안 함:0) #소개하다 기능: 자신의 이름, 스킬, 매력 출력 #연습하다: 스킬이 0.1 증가 #연주하다:매력이 스킬*0.1 증가 Pianist.py #Pianist.py #피아니스트: 음악가에서 파생 #레벨을 생성 시 전달받는다. #독주회를 하다 - 레벨이 (스킬+매력)*0.1 증가 main.py import 구문을 적절하게 추가하시오. mus = Pianist("송정수",1,1)#피아니스트(이름,스킬,레벨) mus.Introduce() for i in range(0,10): for j in range(0,100): mus.Ex()#연습하다 ..

[python] 캡슐화 실습 - 음악가 정의하기

시나리오 #실습 시나리오 #음악가는 생성할 때 이름(필수), 악기(선택:디폴트 피아노), 스킬(선택: 디폴트 0)을 입력받는다. #음악가는 이름, 악기, 스킬, 매력(생성 시 0) #음악가는 '인사하다', '연습하다', '연주하다' 기능을 수행할 수 있다. #'인사하다'를 수행하면 자신을 소개한다.(이름, 악기,스킬,매력 정보 출력) #'연습하다'를 수행하면 스킬이 0.1 올라간다. #'연주하다'를 수행하면 매력이 스킬*0.1만큼 올라간다. class Musician: def __init__(self,name,instrument='피아노',skill=0): self.name = name self.instrument = instrument self.skill = skill self.charm = 0 def..

[python] 캡슐화 실습 - 직사각형 클래스 정의하기

다음과 같은 코드가 있다. 직사각형 클래스를 정의하시오. class Point:#점(Point) def __init__(self,x=0,y=0): self.x = x self.y = y #직사각형(Rectangle) rectangle = Rectangle() rectangle.position = Point(3,4) rectangle.width =20 rectangle.height=40 print("면적:",rectangle.GetArea()) point = Point(10,10) rect1 = Rectangle(point,20,30) print("x:",rect1.position.x) print("y:",rect1.position.y) print("width:",rect1.width) print("hei..

[python] 캡슐화 실습 - 생성자(초기화) 정의하기

다음과 같이 사용하는 코드가 있다. 정상적으로 동작할 수 있게 생성자를 정의하시오. #학생 형식 class Student: def GetSum(self): return self.korean+self.english+self.math def GetAverage(self): return self.GetSum()/3 #사용하는 코드 stu = Student("홍길동",12) print("이름:{0} 번호:{1}".format(stu.name,stu.num)) stu.korean = 99 stu.english = 80 stu.math = 85 print("합계:{0} 평균:{1}".format(stu.GetSum(),stu.GetAverage())) #학생 형식 class Student: def __init__(..

[python] 캡슐화 실습 - 학생 유닛 키우기

시나리오 학생 유닛 키우기 콘솔 응용 프로그램이다. 메뉴 선택에 따라 기능을 수행한다. 1:생성 2:자습 3:강의시작 4:소등 5:취미 활동 6:파티 7:노래방가기 8:상태 확인 자습(공부하기), 취미 활동(휴식), 노래방 가기는 한 유닛을 선택하여 적용 강의시작, 소등(잠자기), 파티(음료마시기)는 전체 유닛에 적용 다음 내용처럼 학생 데이터를 정의하시오. 이름: 생성 시 전달 지력:100(최소 0, 최대 200) 체력: 100 (최소 0, 최대 200) 스트레스: 0 (최소 0, 최대 100) 연속으로 공부한 횟수: 0 (0,5), 공부를 하면 1 증가, 그 외의 행위를 하면 0으로 리셋, scnt로 부름 공부하다(체력 5소모, 지력: scnt 만큼 증가, 스트레스: 2감소) 강의를 받다.(체력 3소..

[python] 도서 관리 프로그램 - 클래스 및 파일 입출력 포함

시나리오 도서 관리 프로그램은 콘솔 응용 프로그램이다. 응용에서는 사용자와 상호작용을 담당한다. 응용은 사용자에게 메뉴를 보여주고 선택한 메뉴를 수행하는 것을 반복한다. 메뉴에는 장르 추가, 도서 추가,도서 삭제, 도서 검색, 전체 도서 보기, 프로그램 종료가 있다. 장르 추가를 선택하면 추가할 장르 명을 입력받아 추가한다. 도서 추가를 선택하면 장르를 선택하고 도서 정보를 입력받아 추가한다. 도서는 ISBN(주요키), 도서명, 저자, 출판사, 가격 정보를 사용자로부터 입력받는다. 도서 삭제 기능에서는 도서의 ISBN을 사용자로부터 입력받아 삭제한다. 도서 검색 기능에서는 도서의 ISBN을 사용자로부터 입력받아 검색한다. 전체 보기에서는 전체 도서 정보를 출력한다. 프로그램 종료할 때 데이터를 파일에 저..

반응형