본문 바로가기

전체 글204

[파이썬] DAY9 계좌 알고리즘 문제 코드 리뷰 전체 코드 import pickle class 금액부족(Exception): def __str__(self): return "통장에 잔액이 부족합니다." # 계좌 정보 class Account: account={} def __init__(self,ano,owner,balance): self.__ano = ano # another self.__owner = owner self.__balance = balance self.__record=f"{'초기금액:'+str(balance):")) if(selectNo == 1): createAccount() elif(selectNo == 2): accountList() elif(selectNo == 3): deposit() elif(selectNo == 4): try.. 2022. 1. 27.
[파이썬] DAY9 자료구조(기초개념, 리스트) 데이터를 저장하는 방법 자료 구조: 자료를 효율적으로 사용하기 위해 자료의 특성에 따라 분류하여 구성하고 저장 및 처리하는 작업 자료구조의 분류 1) 단순 구조: 기본 자료형 ex) 정수, 실수, 문자형 2) 선형 구조: 자료들 간의 앞뒤 관계가 1:1의 선형 관계 ex) 리스트, 연결 리스트, 스택(append, pop()), 큐, 덱 3) 비선형 구조: 자료들 간의 앞뒤 관계가 1:다 또는 다:다의 관계 ex) 트리, 그래프 4) 파일 구조: 레코드의 집합인 파일에 대한 구조 ex) 순차파일, 색인파일, 직접파일 -> 집합으로 자료구조에서 구현하지 않는다. 자료의 구조 도식 자료의 표현 4개 - 10진수 - 두 가지 나뉘는 이유(16진법, 10진법) 고정 소수점 vs 부동소수점 존 형식의 표현 고정 .. 2022. 1. 26.
[파이썬] DAY9 클래스 연습문제 def 예외발생함수(): #예외발생 raise Exception("메소드 내에서 예외발생") def 시작함수(): #예외 떠넘기기 try: 예외발생함수() except: #Exception 생략 raise # main 영역 try: 시작함수() except Exception as e: print(f"예외메세지 출력>\n{e}") 8장 연습문제 --------------- 2. 인스턴스 필드를 만드려면 초기화가 있어야 하고 초기화를 위해서는 생성자가 있어야 한다. 인스턴스 메소드만 인스턴스 필드에 접근 가능하다. 인스턴스 필드를 안 쓸 거면 클래스 메소드를 쓰면 된다. 인스턴스 필드는 반드시 인스턴스 메소드 안에서 선언해야 한다. 클래스의 인스턴스 필드 리스트에 다른 클래스의 인스턴스를 넣을 수 있다. 객.. 2022. 1. 26.
[파이썬] DAY8 파일 입출력, 예외 처리 복습 문제 2022. 1. 25.
[파이썬] DAY8 자동차 문제 파일 입출력 + 예외처리 적용하기 과제 요약 입력: 각 자동차의 6개 품목 데이터 정보 하나당 객체로 구현해야하고, 기능 모두 정상 동작 구매가격 = 엔진 가격 + 타이어 가격 * 4 + 1000 클래스 선언 class Info: def __init__(self): self.name = "" self.engine = 0 self.tire = 0 self.have_option = "" self.option = "" self.velocity = 0 self.price = 0 start_text = """ #### 자동차 정보 프로그램 #### 1. 자동차 정보 입력 2. 저장된 목록 보기 3. 각 자동차의 구매 가격 조회 4. 옵션이 있는 자동차 정보 조회 5. 빠른 자동차와 느린 자동차의 속도차 조회 6. 프로그램 이용 종료 #######.. 2022. 1. 25.
[파이썬] DAY8 파일 입출력 & 예외 처리 복습 1. 파일 입출력 파일 입출력 복습 파일로 불러올 수 있는 형식 : 텍스트 / 이진 파일 피일의 입출력 보조기억장치인 하드디스크에서 가져오겠다. 직접 메모리로 가져오는 것이 아니라 파일에 대한 내용에 대한 경로를 연결해준다. 텍스트 파일 입출력 모드 4가지----------------------------------- r : read w : write a : append r+ : 읽기와 쓰기 모드 파일포인터 : 파일에 접근해주는 경로를 만들어 연결해주는 역할, 일방 통행길(쓰기 모드나 읽기모드 중 한번에 하나만 가능) 파일입출력(중심은 메모리 관점에서 생각해야 한다.) 입력: 파일에서 데이터를 메모리로 가지고 들어오는 것 출력: 메모리에서 데이터를 파일로 가지고 나가는 것 한 줄로 가지고 온 다음에 개행.. 2022. 1. 25.
[파이썬] DAY7 예외처리 내일은 pickle 이용해서 자동차 프로그램 짜기 예외처리 예외는 버그와 달리 시스템을 진행하지 못하게 한다. 오류가 발생했을 때 사용자에게 알려주고 모든 데이터를 저장하게 한 후에 사용자가 우아하게 프로그램을 종료할 수 있도록 한다. → 경로지를 설정하여 우회해서 가도록 한다. 조건문 자체가 예외 처리하는 작업이다. 미리 예외가 발생할 구간을 알아야 한다. try: 예외가 발생할 수 있는 문장 except 오류 내용: 예외를 처리하는 문장 1. 코드 예외 처리 넓은 범주의 예외는 맨 아래 쪽에 있어야 한다. 범주가 좁으면 위 쪽에 위치해야 한다. (자식 클래스가 항상 부모 클래보다 위에 있어야 한다.) 2. 파일 예외 처리 조건문으로 생각하자 파일이 없으면 나오고 있으면 읽어나가는 기능 따라서 파일 입.. 2022. 1. 24.
[파이썬] DAY7 파일 & 객체 입출력 1. 텍스트 파일 입출력 메모리에 전적으로 데이터를 저장하면 안되는 이유 1) 저장 용량이 적다. 2) 휘발성: 전원이 꺼지면 데이터 날아간다. → 보조기억장치로 하드 디스크에 데이터를 저장한다. 하드 디스크 ←→ 메모리 데이터 주고 받는 방식 경로를 설정한다. EOF(end-of-file): 마커의 위치 위치 표시자(position indicator): 입출력하는 위치 텍스트 파일: '\n'(공백 문자)으로 끝지점을 인식한다, 텍스트 데이터로 되어 있는 파일만 가져올 수 있다. 프로그래밍은 메모리 기준으로 봐야한다. 파일에 데이터 저장: 메모리 기준으로 데이터 출력(메모리에 들어옴) 파일 데이터 읽어옴: 메모리 기준으로 데이터 입력(메모리에서 나감) 컴퓨터는 텍스트를 ASCLL 또는 유닛커드로 바꿔서 .. 2022. 1. 24.
[파이썬] DAY7 입학 시험 마지막 문제 클래스로 풀어보기 오늘 배울 것들 예외 처리 파일 입출력 6가지 자동차 정보가 주어져 있고, 자동차 정보 하나 당 객체로 구현하기 6가지 기능이 동작하기만 하면 된다. 3번 같은 경우 내가 원하는 자동차 이름 입력하고 존재하면 가격 출력 없으면 목록에 없는 자동차 입니다. 출력 리스트가 아닌 클래스로 작성하면 좋은 이유 리스트로 작성하면 lst[0], lst[1] ... 등 다른 사람이 코드를 리뷰할 때 각 인덱스가 어떤 항목을 의미하는지 알아보기 어렵다. 클래스로 작성하면 a.name로 하면 된다. 제약 조건 은닉성 함수화 프로그램 내가 직면했던 문제는 각각의 자동차의 이름으로 인스턴스를 만들고 싶은데 어떻게 입력된 이름값으로 인스턴스 이름을 쓸 수 있을까.. while 할 때 else를 꼭 넣는 연습을 하자 그리고 b.. 2022. 1. 24.