개발/(1) 초위파(Python) 300제 풀이

초보자를 위한 파이썬(Python) 300제 풀이 (271, 272, 273, 274, 275)

생각외로깔끔함 2022. 12. 22. 14:28
728x90
반응형

 

초보자를 위한 파이썬(Python) 300제 풀이

 

 

 

271. 은행에 가서 계좌를 개설하면 은행이름, 예금주, 계좌번호, 잔액이 설정됩니다. banking 클래스를 생성한 후 생성자를 구현해보세요. 생성자에서는 예금주와 초기 잔액만 입력 받습니다. 은행이름은 SC은행으로 계좌번호는 3자리-2자리-6자리 형태로 랜덤하게 생성됩니다.

은행이름: SC은행
계좌번호: 111-11-111111

 

import random

class banking:
    def __init__(self, name, balance):
        self.name = name
        self.balance = balance
        self.bank = "SC은행"
        num1 = random.randint(0, 999)
        num2 = random.randint(0, 99)
        num3 = random.randint(0, 999999)

        num1 = str(num1).zfill(3)
        num2 = str(num2).zfill(2)
        num3 = str(num3).zfill(6)
        self.account_number = num1 + '-' + num2 + '-' + num3


kim = banking("김민수", 100)
  • random 모듈을 시행하여 계좌번호의 랜덤성을 주어줍니다.
  • zfill(숫자) 은 숫자번째 자리의 길이인 데이터에서 앞을 모두 0으로 채워줍니다.
  • randint 는 그 랜덤 값에서 하나만 가져오겠다는 의미입니다.

 

272. 클래스 변수를 사용해서 banking클래스로부터 생성된 계좌 객체의 개수를 저장하세요.

class banking:
    account_count = 0

    def __init__(self, name, balance):
        self.name = name
        self.balance = balance
        self.bank = "SC은행"

        num1 = random.randint(0, 999)
        num2 = random.randint(0, 99)
        num3 = random.randint(0, 999999)

        num1 = str(num1).zfill(3)
        num2 = str(num2).zfill(2)
        num3 = str(num3).zfill(6)
        self.account_number = num1 + '-' + num2 + '-' + num3  # 001-01-000001

        banking.account_count += 1
  • 위 클래스에서 개수 변수값을 0으로 만들어 준 후 시작요소에 += 1 를 적용해주면 됩니다.

 

273. banking 클래스로부터 생성된 계좌의 개수를 출력하는 get_banking_num() 메서드를 추가하세요.

def get_banking_num(cls):
    print(cls.banking_count)
  • 새 함수만 만들어주면 바로 작동이 가능합니다.

 

274. banking 클래스에 입금을 위한 deposit 메서드를 추가하세요. 입금은 최소 1원 이상만 가능합니다.

def deposit(self, amount):
    if amount >= 1:
        self.balance += amount
  • 이전 문제의 답안 코드와 같이 실행하면 금액이 더해지면서 작동을 합니다.

 

275. banking 클래스에 출금을 위한 withdraw 메서드를 추가하세요. 출금은 계좌의 잔고 이상으로 출금할 수는 없습니다.

def withdraw(self, amount):
    if self.balance > amount:
        self.balance -= amount
  • 이전 문제의 입금 문제에서 출금 부분만 바뀐것이니 -만 바뀌게 된 문제입니다.

 

 

 

출처 = https://wikidocs.net/book/922, 초보자를 위한 파이썬 300제,

PyCharm 사용

728x90
반응형