python 자습편10 [대상방향(4): 펜타스톰 미니게임+간단한 은행 업무 처리 시뮬레이션 클래스]

27806 단어 python 기반
python 기본 시리즈:python 자습서 1[Anaconda3 설치]python 자습서 2[pycharm 설치 및 사용]python 자습서 3[판단문구if의 사용]python 자습서 4[기본 데이터 유형과 문자열 상용 처리]python 자습서 5[목록]python 자습서 6[원조]python 자습서 7[사전+심도 복사와 얕은 복사]python 자습서 8편 설명[순환:while+for+pass+range()+추도식]python 자습편 9 [함수(一): 매개 변수+대상]python 자습편 9 [함수(二): 반환값return+yield+교체기+생성기]python 자습편 9 [함수(3): 변수 작용역+ATM+5개 작은 연습]python 자습편 9 [함수(4): 귀속함수+익명함수+고급 함수]python 자습편 10 [대상방향(一): 대상방향 개념+정의클래스+연습1] python 자습편 10 [대상방향(二): 계승+다중계승+클래스속성+실례속성] python 자습편 10 [대상방향(三): 방문제한+클래스방법+정태방법] python 자습편 10 [대상방향(四): 펜타스톰 미니게임 + 간단한 은행 업무 처리 시뮬레이션 클래스]python 자습편 11 [모듈 소개 + 모듈 제작 +dir () 함수 + 표준 모듈 + 패키지]python 자습편 12 [파일: 열기 + 읽기 + 쓰기 +3 문제]
연습: 망자 농약 놀이
1. 세 개의 게임 캐릭터를 생성, 각각: 속성:name,포지셔닝:category,혈액량:Output스킬:Skill영웅:갑옷,전사,혈액량:1000스킬:극인폭풍왕소군,법사,혈액량:1000스킬:엄동설한이 아검,자객,혈액량:1000스킬:순화
2. 게임 장면, 각각:
빨간buff 훔치기, 스킬 시전, 빨간buff 훔치기 시 생명량 300 소모 솔로전투, 1 피, 소모 생명량 500 보혈, 보혈 200 증가
  • 전체 코드:
  • #-*- conding:utf-8 -*-
    class hero():
    
        #    
        def __init__(self,name,category,skill,output=1000,score = 0):
            self.name = name
            self.category = category
            self.skill = skill
            self.output = output
            self.score = score
    
        #    1,  BUFF
        def red_buff(self):
            self.output -= 300
            print('%s%s       BUFF,    300'%(self.category,self.name))
    
        #    2solo  
        def solo(self,n=1):
            self.output -= 500
            if self.output < 0:
                print('%s%s,      ,      '%(self.category,self.name))
            else:
                if self.score == 0:
                    self.score += n
                    print('%s%s solo      ,    500'%(self.category,self.name))
                else:
                    self.score += n
                    print('%s%s solo     %d   ,    500'%(self.category,self.name,n))
    
    
        #   ,  
        def add_xue(self):
            self.output += 200
            print('%s%s         ,  200'%(self.category,self.name))
    
    
        #        
        def getInfo(self):
            if self.output <= 0:
                print('%s%s,    ,  %d   '%(self.category,self.name,self.score))
    
            else:
                print('%s%s   !    %d,  %d   '%(self.category,self.name,self.output,self.score))
    
    
    #     
    kai = hero(' ','  ','    ')
    
    #  
    kai.red_buff()#  buff
    kai.getInfo()#      
    kai.solo()#    
    kai.getInfo()#      
    kai.add_xue()#    
    kai.getInfo()#      
    kai.solo()#    
    kai.getInfo()#      
    
    

    간단한 은행의 업무 처리 유형을 모의하다
    클래스: 은행 클래스 속성을 만듭니다. 은행에 속하는 클래스 속성은 은행의 계좌 개설 정보를 저장하는 데 사용됩니다. 카드번호, 비밀번호, 사용자 이름, 잔액(외부에서 임의로 방문하고 수정할 수 없습니다. 계좌를 개설할 때 카드번호 검증을 하고 카드번호가 이미 존재하는지 확인해야 합니다)
          
          、  、   、  
        (           )
    

    방법: 은행류는 본 은행의 계좌 개설 총수를 조회하고 모든 사용자의 개인정보(카드번호, 비밀번호, 사용자 이름, 잔액 포함)를 조회한다. 각 대상이 실례화 대상을 가지고 있을 때 관련 매개 변수 초기화 대상과 클래스 속성을 전송하여 돈을 인출한다. (카드번호와 비밀번호 검사가 필요하다) 카드번호와 비밀번호를 검증하여 개인의 잔액을 조작한다.잔액보다 큰 돈을 찾으면 잔액이 부족하여 저금(카드번호와 비밀번호 검증 필요)이 부족합니다. 카드번호와 비밀번호를 검증하여 개인의 잔액을 조작합니다. 반환 조작은 개인의 상세한 정보(카드번호 비밀번호 검증 필요)를 성공적으로 확인하고 개인의 카드번호, 사용자 이름, 잔액 정보를 반환합니다.
  • 전체 코드:
  • class Bank():
        #          
        __Users = {}
    
    
        #         、  、   、  
        def __init__(self,CradId,pwd,name,balance):
            if CradId not in Bank.__Users:
                Bank.__Users[CradId] = {'pwd':pwd,'Username':name,'Balance':balance}
                self.__CradId = CradId
                self.__pwd = pwd
                self.__name = name
                self.__balance = balance
    
    
        #          
        @classmethod
        def nums(cls):
            print('     :%d'%(len(cls.__Users)))
    
    
        #           (    、  、   、  )
        @classmethod
        def get_Users(cls):
            for key,val in cls.__Users.items():
                print('  :%s 
    :%s
    :%d
    :%d'
    %(key,val['Username'],val['pwd'],val['Balance'])) print() # @staticmethod def check_User(CradId,pwd): if (CradId in Bank.__Users) and (pwd == Bank.__Users[CradId]['pwd'] ): return True else: return False # @staticmethod def check_money(money): if isinstance(money,int): return True else: return False # ( ) def q_money(self,CradId,pwd,money): if Bank.check_User(CradId,pwd): # if Bank.check_money(money): if Bank.__Users[CradId]['Balance'] >= money: Bank.__Users[CradId]['Balance'] -= money print(' %s, %d, %d'%(CradId,money,Bank.__Users[CradId]['Balance'])) else: print(' ') else: print(' ') else: print(' ') def c_money(self,CradId,pwd,money): if Bank.check_User(CradId,pwd): # if Bank.check_money(money): Bank.__Users[CradId]['Balance'] += money print(' %s, %d, %d'%(CradId,money,Bank.__Users[CradId]['Balance'])) else: print(' ') else: print(' ') # ( ) def getInfo(self,CradId,pwd): if Bank.check_User(CradId, pwd): print(' %s, %s, %d' % (CradId, Bank.__Users[CradId]['Username'], Bank.__Users[CradId]['Balance'])) else: print(' ') joe = Bank('1001',111111,'joe',100) joe2 = Bank('1001',111111,'joe',100) Bank.nums() print('_'*50) Bank.get_Users() print('_'*50) joe.c_money('1001',111111,500) print('_'*50) joe.q_money('1001',111111,300) print('_'*50) joe.getInfo('1001',111111)

    좋은 웹페이지 즐겨찾기