youjihyeon / Computer_lesson

0 stars 0 forks source link

파이썬 교육

https://wikidocs.net/book/1 위 주소로 들어가면, 설명이 잘되어있음

  1. 개발 환경 파이썬 공식 사이트에서 제공하는 파이선프로그램 개발을 위한 기본 개발 툴 IDLE : integeted de 위 프로그램을 통해 파이썬을 구동함 (저장시, .py 확장자명 필요함)

    좀 더 쉽게 구동하기 위해 jupyter를 사용함 anaconda <- 다른 분들이 만들어 놓은 페키지를 다운로드 받기 위해, 하나의 윈도우에 여러 파이썬 파일을 받을 수 있음. Anaconda prompt <- base의 의미는 아직 아무런 페키지가 로드되어 있지 않기 때문에.

conda env list
conda search "^python$"
conda create -n edu_1 python==(원하는 버전) pip
conda activate edu_1
pip install jupyterlab
jupyter lab

2-1. jupyter lab

'ikernel'을 다운받는 법

python pip ipykernel
python -m ipykernel install --user --name=edu_2

위 명령어는 ikernel이라는 가상환경을 설치하는 방법

2-2. vscode

2시에 민방위 예정

3.1 파이썬의 기본문법

-변수 a에 20을 저장, 즉 변수 a가 가리키는 메모리 공간에 20을 저장한다는 의미

tot = kor + eng + math avg = print(name,'의 성적은', tot/3, '입니다.')

### 3.1.2 조건문

  -   특정 조건을 만족할 때와 만족하지 않을때의 경우를 나눠서
  -   

a = 1 b = 2 c = a > b print(c) if a > b: print('a가 b보다 크다.') else: print('a가 b보다 작습니다.')

나이에 따른 목욕탕 입장료

age = int(input('나이를 입력해주세요:')) pay = '3000원' if age >= 65 or age < 7: pay = '무료' print('입장료는',pay,'입니다.')

비밀번호 맞고 틀림에 따른 결과 확인

answer = '12354' password = input('비밀번호를 입력해주세요.') if password.strip() == answer: print('비밀번호가 맞습니다.') else: print('비밀번호가 틀립니다.')


-   strip 함수는 앞뒤에 나온 space를 없애줌

일반실과 특실을 나눠주는 함수

일반실 = 1, 특실 = 2

num = int(input('좌석의 종류를 입력해주세요.(일반실:1,특실:2)')) seat1 = '일반실' seat2 = '특실' if num == 1: print(seat1) elif num == 2: print(seat2) else: print('좌석이 존재하지 않습니다.')

range 설명

sum = 0

for i in range(1, 10): sum = sum + i print('sum:'+str(sum), '현재 index i:'str(i))

range function 사용

for i in rnage(5): print(i) print('완료')

중간 끊기

for i in range(5): print(str(i)) if i == 2: break

- 이와 다르게 break말고 continue나 pass를 사용할 수 있음.

구구단을 외우자

for i in range(1,10): for j in range(1,10): print(''5,str(i),'단','ij',''5) if i == 1: break a=2 for b in range(1,10): c=ab print("%d x %d=%d" %(a,b,c))


### 3.1.3 자료형

-   여러 데이터를 모은 집합 형태 자료형
  -   list : 데이터를 순차적으로 저장(열거)
  -   tuple  : 값을 변경할 수 없는 데이터 셋(한번 들어간 data가 수정,삭제 불가능)-> remove, append 불가능
  -   dictionary : 값에 key값을 부여된 집합

리스트 선언하기

li = [] print(type(li)) li = list() print(type(li)) li = ['a', 1, '0.0', 33]

자료의 갯수 카운트

print(len(li))

특정 위치의 list data 확인

print(li[1])

list에 다른 데이터 삽입

li.append(true) print(li)

문구를 특정위치 삽입

li.insert(0, 'python')

값을 삭제

li.remove(1)

하나의 data만 꺼내기

li.pop(1)

list에서 sort하기

li = list(range(1,10)) print(li)

거꾸로 나오게 함(9,8,7,6,5,4.....1)

li.sort(reverse=true) print(li)

score =[99. 76,34, 43, 27] sum = 0 for i in score: sum = sum + i

avg = sum/ len(score) print('총점:', sum, '평균:' + str(avg))

로또 번호 예측

import random lotto = [] for i in range(0,6): r = random.randint(1,45)

if lotto in r: print('이미 존재') else: lotto.append(r)

print(lotto)

tuple 선언

li = list(range(0,2)) tu = tuple(li) print(type(tu))

dictionary 선언

_dic = {'a':'1', 'b':'2', 'c':'3'} for key in _dic: print(key, _dic[key])


### 4. PDB protein data를 parsing 후, 시각화해보기

-   jupyter notebook에서 실행해야함.
-    C:/Users/KOBIC/AppData/Local/Programs/Python/Python311/python.exe -m pip install py3Dmol
  -   위 명령어를 통해 py3Dmol를 다운로드 받기

protein_file='c:/Users/KOBIC/Desktop/edu/protein_result.txt'

pdb_id = []

with open(protein_file, 'r') as file: for line in file: data = line.strip() if 'PDBsum' in data: temp_1 = data.split(',') for text in temp_1: t= text.strip() if t.startswith('PDBsum'): id = t.split(':')[1] pdb_id.append(id)

print(len(pdb_id)) print(pdb_id[:10])

import py3Dmol

viewer = py3Dmol.view(query='pdb:' + pdb_id[2]) viewer.show() viewer.setStyle({'cartoon': {'color':'spectrum'}}) viewer.show()