Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 머신러닝
- 자바 로그 레벨
- conda remove
- 컬렉션 프레임웍
- 프로그래머스
- GIT
- 셀레니움
- 사이킷런 회귀
- 자바 열거형
- Selenium
- db
- 스프링 부트3
- h2 데이타베이스
- 차원증가
- 스프링 부트
- oracle
- 사이킷런
- 완주하지못한선수
- streamlit
- openai
- 파이썬
- 오라클
- WinError5
- REST API
- Python
- 쓰레드 풀
- URI 원칙
- Java
- 알고리즘
- 컬렉션 인터페이스
Archives
- Today
- Total
노트 :
주소록 프로젝트 본문
요즘 cs 및 sql 공부를 하느라 파이썬 코드를 통 작성하지 못 했다.
이러다 파이썬을 잊어 먹겠다 싶은 마음에 작성해본 코드.
아래 책에 나오는 실전 프로젝트를 보고 주소록 프로젝트를 따라 만들었다.
참고로, 해당 책에서 저자 분이 코드 한줄 한줄 자세히 설명해주셔서 좋았다.
나같은 초보자들이 보기에 좋은 교재인 것 같다 :)
아래는 완성코드!
class Contact():
def __init__(self, name, phone_number, e_mail, addr):
self.name = name
self.phone_number = phone_number
self.e_mail = e_mail
self.addr = addr
def print_info(self):
print('Name:', self.name)
print('Phone Number:', self.phone_number)
print('E-mail:', self.e_mail)
print('Address:', self.addr)
def set_contact():
name = input('Name: ')
phone_number = input('Phone_number: ')
e_mail = input('E-mail: ')
addr = input('Address: ')
contact = Contact(name, phone_number, e_mail, addr)
return contact
def print_contact(contact_list):
for contact in contact_list:
contact.print_info()
def delete_contact(contact_list, name):
for i, contact in enumerate(contact_list):
if contact.name == name:
del contact_list[i]
def store_contact(contact_list):
f = open('contact_db.txt', 'wt')
for contact in contact_list:
f.write(contact.name + '\n')
f.write(contact.phone_number + '\n')
f.write(contact.e_mail + '\n')
f.write(contact.addr + '\n')
f.close()
def load_contact(contact_list):
f = open('contact_db.txt', 'rt')
lines = f.readlines()
num = len(lines)/4
num = int(num)
for i in range(num):
name = lines[4*i].rstrip('\n')
phone = lines[4*i+1].rstrip('\n')
email = lines[4*i+2].rstrip('\n')
addr = lines[4*i+3].rstrip('\n')
contact = Contact(name, phone, email, addr)
contact_list.append(contact)
f.close()
def print_menu():
print('1. 연락처 입력')
print('2. 연락처 출력')
print('3. 연락처 삭제')
print('4. 종료')
menu = input('메뉴선택: ')
return int(menu)
def run():
contact_list = []
load_contact(contact_list)
while 1:
menu = print_menu()
if menu == 1:
contact = set_contact()
contact_list.append(contact)
elif menu == 2:
print_contact(contact_list)
elif menu == 3:
name = input('Name: ')
delete_contact(contact_list, name)
elif menu == 4:
store_contact(contact_list)
break
if __name__ == '__main__':
run()
터미널에서 실행하면, 다음 화면처럼 나온다.
'Python' 카테고리의 다른 글
Random 모듈 (0) | 2023.03.28 |
---|---|
Matplotlib (0) | 2023.03.27 |
제너레이터(Generator) (0) | 2023.02.23 |
타입 힌트(Type Hint) (0) | 2023.02.23 |
Streamlit으로 간단한 웹페이지 만들기 (0) | 2023.01.28 |