반응형

Language/Python 136

[ Python ] 파일 복사하기 프로그램

infilename = input('입력 파일 이름: ') outfilename = input('출력 파일 이름: ') infile = open(infilename, 'r',encoding = 'UTF8') outfile = open(outfilename, 'w') s = infile.read() outfile.write(s) infile.close() outfile.close() infile = open(infilename, 'r',encoding = 'UTF8') outfile = open(outfilename, 'w') ▶ 복사하고 싶은 파일은 읽기 용도 'r' 모드로 열고 출력 파일은 쓰기 위해 'w' 모드로 열어줌 ★ encoding = 'UTF8'을 붙이지 않으면 cp949 코덱으로 인코딩 된..

Language/Python 2021.09.04

[ Python ] 파일 개념 정리

파일은 컴퓨터 전원이 꺼져도 없어지지 않음 변수에 들어있는 값들은 컴퓨터 전원이 꺼지면 없어짐 파일을 읽을 때는 파일을 열고, 데이터를 읽은 후에, 파일을 닫는 절차가 필요함 파일을 열 때는 open() 함수, 닫을 때는 close() 함수를 사용 파일을 열 때는 읽기(r), 쓰기(w), 추가(a) 모드가 있음 → 파일 사용 목적에 따라 적절하게 모드를 선택 파일 모드 모드 이름 설명 r 읽기 모드(read mode) 파일의 처음부터 읽음 w 쓰기 모드(write mode) 파일의 처음부터 씁니다. 파일이 없으면 생성됩니다. 만약 파일이 존재하면 기존의 내용은 지워짐 a 추가 모드(append mode) 파일의 끝에 이어서 내용을 씁니다. 파일이 없으면 생성됨 r+ 읽기와 쓰기 모드 파일에 읽고 쓸 수 ..

Language/Python 2021.09.04

[ Python ] 문제 제시 프로그램

딕셔너리에 문제와 정답을 저장하고 사용자에게 하나씩 꺼내 제시하는 프로그램을 작성해보자. 단, 사용자는 번호가 아닌 문자열로 답해야 함 problems = {'파이썬':'최근에 가장 떠오르는 프로그래밍 언어', '변수':'데이터를 저장하는 메모리 공간','함수':'작업을 수행하는 문장들의 집합에 이름을 붙인 것','리스트':'서로 관련이 없는 항목들의 모임'} def show_words(problems): display_message='' i=1 for word in problems.keys(): display_message += '('+str(i)+')' display_message += word+'' i+=1 print(display_message) for meaning in problems.valu..

Language/Python 2021.09.04

[ Python ] 전화번호부 프로그램

친구들의 이름과 전화번호를 저장하고 검색모드를 통해 친구들의 이름으로 전화번호를 검색할 수 있는 프로그램을 작성해보자. contacts = {} while True: name = input('(입력 모드) 이름을 입력하세요: ') if not name: break tel = input('전화번호를 입력하세요: ') contacts[name] = tel while True: name = input('(검색모드) 이름을 입력하세요: ') if not name: break if name in contacts: print(name,'의 전화번호는',contacts[name],'입니다.') ▶ contacts = {} : contacts라는 빈 딕셔너리 생성 while True: name = input('(입력 ..

Language/Python 2021.09.04

[ Python ] 튜링상 수상자 데이터 분석 프로그램

역대 튜링상 수상자들의 명단과 수상년도, 국적을 정리하는 프로그램을 작성해보자. awards = [] awards.append({'이름':'팀 버너스리', '수상년도':2016, '국적':'영국', '대표업적':'월드 와이드 웹의 하이퍼텍스트 시스템을 고안하여 개발'}) awards.append({'이름':'리처드 해밍', '수상년도':1968, '국적':'미국', '대표업적':'오류 검출 부호 및 오류 정정 부호'}) awards.append({'이름':'에츠허르 데이크스트라', '수상년도':1972, '국적':'네덜란드', '대표업적':'프로그래밍 언어 연구, 데이크스트라 알고리즘'}) awards.append({'이름':'더글러스 엥겔바트', '수상년도':1977, '국적':'미국', '대표업적':..

Language/Python 2021.09.04

[ Python ] e-mail 보내기 프로그램

파이썬을 이용해 자동으로 이메일을 보내는 프로그램을 작성해보자. import smtplib from email.mime.text import MIMEText me = 'abc@server.kr' # 보내는 사람 메일 주소 you = 'def@server.com' # 받는 사람 메일 주소 contents = '12월 20일에 동창회가 있으니 참석해주시기 바랍니다.' # 보내고싶은 내용 msg = MIMEText(contents, _charset='euc-kr') msg['Subject'] = '동창회 모임' msg['From'] = me msg['To'] = you server = smtplib.SMTP('smtp.gmail.com', 587) server.ehlo() server.starttls() se..

Language/Python 2021.09.03

[ Python ] 행성까지의 여행 시간 구하기 프로그램

행성까지 가는데 어느 정도의 시간이 걸리는지 계산하는 프로그램을 작성해보자. planet_dict = {'수성':91700000, '금성':41400000, '화성' :78400000, '목성': 628700000, '토성': 1277400000, '천왕성' : 275400000, '해왕성': 4347400000} planet = input('행성 이름: ') speed = int(input('이동 속도(km/h): ')) distance = planet_dict[planet] time = distance / speed year = int(time) // (365*24) month = int(time - (year*365*24)) // (30*24) day = int(time - (year*365*24)..

Language/Python 2021.09.03

[ Python ] 멘델의 유전 법칙 시뮬레이션 프로그램

무작위로 완두콩 RR, Rr, rR, rr을 생성시켜 둥근 완두콩과 주름진 완두콩의 비율이 3:1임을 시뮬레이션하는 프로그램을 작성해보자. import random descendant = [] def make_descendant(): h1 = random.randrange(0,2) h2 = random.randrange(0,2) if h1 == 0 and h2 == 0: h = 'RR' elif h1 == 0 and h2 == 1: h = 'Rr' elif h1 == 1 and h2 == 0: h = 'rR' else: h = 'rr' descendant.append(h) def count_descendant(d): d_dict = {} for n in d: if n in d_dict: d_dict[n]..

Language/Python 2021.09.03

[ Python ] 딕셔너리와 집합 개념

딕셔너리는 항목들을 모아둔 곳 딕셔너리는 '키(key)'와 '값(value)'이 연결된 쌍으로 구성 딕셔너리는 중괄호{}를 사용해 작성 딕셔너리에 key를 제시하면 value를 반환 딕셔너리에서는 키를 모르는 경우 keys()를 사용해 모든 키를 볼 수 있음 딕셔너리에서 사용되는 모든 값을 알고 싶다면 values() 사용 딕셔너리의 수정은 키를 통해 이루어짐 딕셔너리의 항목을 삭제하려면 del(), pop(), discard(), remove() 사용 → 중복된 값을 제거하고 사용하고 싶을 땐 set() 사용 → 딕셔너리의 항목을 모두 삭제하려면 clear() 사용 딕셔너리를 반복문으로 처리하면 효과적 집합은 자료가 중복되지 않으며, 순서가 없음 → index가 필요 없음 딕셔너리의 value값을 정렬..

Language/Python 2021.09.03

[ Python ] 거미줄 그리기 프로그램

거북이를 움직이지 않고 선을 긋는 함수를 정의하고 이를 이용해 거미줄 모양을 그리는 프로그램을 작성해보자. import turtle t=turtle.Turtle() t.shape('turtle') def draw_line(): t.forward(100) t.backward(100) for x in range(12): t.right(30) draw_line() ▶ draw_line() 사용자 정의 함수를 생성해 거북이가 중심에서 벗어나지 않도록 앞으로 100 이동 후 다시 뒤로 100 이동 def draw_line(): t.forward(100) t.backward(100) ▶ 우측으로 30도씩 돌면서 12번 반복해 거미줄 모양을 그림 for x in range(12): t.right(30) draw_li..

Language/Python 2021.09.02
반응형