목록Language/python (22)
정보보안공부
python 설치과정 https://www.microsoft.com/en-us/download/confirmation.aspx?id=44266 설치 후 pip install pycrypto # Python 2.7 - Encrypt import base64 import hashlib from Crypto.Cipher import AES BS = AES.block_size pad = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS) unpad = lambda s : s[0:-ord(s[-1])] key = "12345678901234567890123456789012"; # 32bit iv=key[:16] # 16bit String = 'abcd' print..
hex : 16진수 bin : 2진수 @@ 문자 -> 16진수,2진수 @@ 2진수16진수 -> 문자
*** 프레임 만드는 법 1) 클래스와 함수를 사용하지 않고 만들어보기 -> Button의 이름은 text를 통해 Quit로 하며 버튼을 눌렀을때 작동은 command=quit를 이용해 종료되도록한다. Quit의 색깔은 foreground="red"를 통해 빨간색으로 한다. -> pack()을 이용해 해당버튼을 window라는 큰박스안에 넣어준다. pack을 쓰지 않으면 보이지 않는다. 2) 클래스와 함수를 통해 만들어보기 --> MyFrame클래스가 실행되면 __init__ 함수안에 목록들이 자동실행하는데 createWidget도 함수로 만들어 self.createWidget()에 의해 실행되게한다. --> Button(self, text="Quit", command = quit에 의해 버튼의 이름을 ..
*** 학생과 교수의 데이터 -> Person을 상속받아 Professor(교수)와 Student(학생) 클래스를 작성 -> getdata를 이용해 해당정보를 입력받는다. -> split()을 사용해 입력받은 정보를 구분한다. -> putdata로 해당정보 순서대로 출력 # 결과 - val 값에 따른 교수와 학생의 정보 입/출력 - 교수정보 : val값이 1일때 - 학생정보 : val값이 2일때 - 교수 + 학생정보 ## 클래스를 사용하지 않을경우 --> 클래스를 사용하지않는다면 리스트를 이용하기때문에 제한적이다
*** 상속을 사용해 학생과 교수의 데이터 표현하기 -> Person을 상속받아 Professor(교수)와 Student(학생) 클래스를 작성 -> getdata를 이용해 해당정보를 입력받는다. -> split()을 사용해 입력받은 정보를 구분한다. -> putdata로 해당정보 순서대로 출력 # 결과 - 교수 -> 첫번쨰 교수이름 두번쨰 담당과목 세번째 나이 네번째 교수번호 # 결과 - 학생 -> 첫번째 학생이름 두번째 학생나이 세번째 3과목점수합 네번째 학생번호
*** 합병정렬 - 분할 정복기법 - 제자리 정렬이 가능하다. -> divide함수를 이용해 주어진 리스트를 나누어준다. -> // 연산을 이용해 나머지값을 버린 중앙값 mid를 구한다. -> mid값을 기준으로 배열을 나눈다. -> 리스트의 길이가 3개이상일 경우 다시 divide함수를 이용해 계속 나눈다. -> 합병정렬을 이용해 left리스트, right리스트의 원소가 소모될때 까지 진행한다. -> 0번째 인덱스를 비교한뒤 최소값은 nlists에 저장한뒤 remove를 이용해 지워준다. -> nlists는 임시로 저장하는 곳이라고 생각하자 merge함수가 불러질때마다 []로 초기화되는것에 주의한다. -> left와 right의 첫번째 원소들을 모두비교한뒤 한쪽 원소가 모두 비어지면 반대쪽 원소들을 n..
--- 클래스 클래스는 메서드, 속성, 클래스 변수, 초기자, 소멸자 등의 여러 맴버들을 가질수 있다. 예) # 결과 -> r = Rectangle(2,3) 객체 r을 생성하였다. -> area = r.calcArea() area 변수에 r객체의 가로 x 세로 값을 대입 -> r.width와 r.height의 값을 대입하여 area 변수의 값변동 확인 -> r2 객체를 만들게되면 전체 count의 수가 총 2개를 만들게 되었으므로 2가된다. -- 메서드 : 클래스 내의 함수 클래스의 행위를 표현하는 것으로 클래스 내의 함수로 볼 수 있다. 해당 클래스와 관련된 어떤 행위를 표현하는 함수이다 함수와 다르게 항상 첫번째 파라미터로 해당 클래스 객체를 나타내는 "self"를 갖는다. --예제에서 calcAre..
***선택정렬 - 최소값의 inde(위치)를 이용해 순차적으로 정렬한다. -> 최소값의 index를 구하는 함수를 이용해 min_num, index는 초기값 lists[x]와 x로 설정한다. -> for문을 이용해 초기값으로 정한 min_num이 다른 원소보다 크다면 그 원소를 최소값 min_num으로 지정한다. 그 위치는 index=i를 이용해 최소값의 위치를 파악한다. -> range(x, y+1)에서 y+1의 이유는 range의 범위가 y+1일때 x부터 y까지가 범위이기 때문이다. -> selection_sort에서의 range(size-1)은 만약 리스트의 총길이가 5라면 range(5-1) 즉 range(4)로인해 0,1,2,3의 범위를 나타낸다. 최소값은 맨마지막 인덱스4의 위치에 있을수 없기..