python - class

slocat·2023년 11월 9일
0

start-data

목록 보기
8/75

클래스 연습문제를 풀었다.
1번 문제를 풀 때는 구조 자체가 조금 어색하게 다가와서,
한 줄씩 주석을 달면서 해석해봤다.
비슷한 유형을 반복해서 풀어보니 이제 조금 익숙해진 기분이다...😀

추가, 삭제, 출력 기능

class Book:
  def __init__(self, n, p, i):
    self.name = n
    self.price = p
    self.isbn = i

class BookRepository:
  def __init__(self):
    self.bookDic = {}

  def registBook(self, book):
    self.bookDic[book.isbn] = book

  def removeBook(self, isbn):
    del self.bookDic[isbn]

  def printBooksInfo(self):
    for isbn in self.bookDic.keys():
      b = self.bookDic[isbn]
      print(f'도서명: {b.name}')
      print(f'가격: {b.price}')
      print(f'ISBN: {b.isbn}')

  def printBookInfo(self, isbn):
    isBook = isbn in self.bookDic

    if isBook:
      b = self.bookDic[isbn]
      print(f'도서명: {b.name}')
      print(f'가격: {b.price}')
      print(f'ISBN: {b.isbn}')
    else:
      print('the book dose not exist.')

클래스 안에서 자신의 메서드 호출

import random

class Dice:
  def __init__(self):
    self.cNum = 0
    self.uNum = 0

  def setCNum(self):
    self.cNum = random.randint(1, 6)

  def setUNum(self):
    self.uNum = random.randint(1, 6)

  def startGame(self):
    print('주사위 게임을 시작합니다.')

    self.setCNum()
    self.setUNum()

  def printResult(self):
    if self.cNum == 0 or self.uNum == 0:
      print('아직 주사위를 던지지 않았습니다.')
    else:

      print(f'컴퓨터: {self.cNum}, 사용자: {self.uNum}')
      if self.cNum == self.uNum:
        print('무승부 입니다.')
      elif self.cNum > self.uNum:
        print('컴퓨터가 이겼습니다.')
      else:
        print('사용자가 이겼습니다.')

0개의 댓글