분류 전체보기

    ProjectH4C 1개월 2주차 과제 (UNIT 24)

    📖 UNIT 24. 문자열 응용하기 📒문자열 조작하기 문자열은 시퀀스 자료형이라 리스트와 비슷한 점이 많다.(연속적이다.) 문자열은 이를 다룰 수 있는 다양한 메서드를 제공한다. 이런 메서드로 문자열을 조작해보자. 먼저 replace() 메서드는 문자열 안의 문자열을 다른 문자열로 바꾼다. (치환한다로 생각해도 되겠다.) 바뀐 결과로 원래 문자열을 바꾸지는 않지만, 바뀐 문자열을 반환해준다. 그래서 그 결과를 유지하고 싶으면 변수를 선언하여 사용해도 괜찮겠다. s = "Hello, World!" s = s.replace("Hello", "My") 이렇게 문자열이 바뀐것을 확인할 수 있다. replace는 문자열 안의 문자열을 바꾼다면, translate 메서드는 문자를 바꾸어 준다. 이를 위해서는 먼저 ..

    ProjectH4C 1개월 2주차 과제 (UNIT 23)

    📖 UNIT 23. 이차원 배열 📒2차원 리스트를 만들고 요소에 접근하기 먼저 2차원 리스트를 만들어보자. 2차원 리스트는 요소에 리스트가 또 들어간 형태를 띈다. a = [[1,1] [2,2] [3,3] [4,4]] a = [[값1, 값2], [값3, 값4]] 이런 형태를 띈다. 가로 세로 모두 인덱스는 0부터 시작된다. c언어와는 다르게 리스트가 동적으로 선언되기에 톱니바퀴식으로 리스트를 만들 수도 있다. 튜플도 마찬가지이다. 튜플은 하지만 값을 추가시킬 수는 없다. a = ([1,1], [2,2], [3,3]) 요런식으롴 코딩이 되어있다면 튜플 내의 요소를 추가시키는 것은 불가능하더라도, 리스트내의 요소는 변경할 수 있다. 이쁘게 출력하고 싶다면 pprint 모듈을 공부해보자. 📒반복문으로 요소를 ..

    ProjectH4C 1개월 2주차 과제 (UNIT 22) : 밑은 꽤 중요함

    📖 UNIT 22. 리스트와 튜플 응용하기 📒리스트에 요소 추가하기 대표적인 리스트를 다루는 기능 세개를 알아보자. append : 요소 하나를 추가 extend : 리스트를 연결하여 확장 insert : 특정 인덱스에 요소 추가 정도 있다. 먼저 리스트에 요소 하나를 추가해보자. a = [10, 20, 30, 40] a.append(100) 이 결과를 확인해보도록 하자. 리스트에 100이 들어가짐을 확인할 수 있다. 그럼 길이를 알아보자. len 함수를 이용하여 길이를 구할 수 있다. 마지막 인덱스는 len(a)-1 이겠다. 리스트 안에는 리스트를 또 추가할 수 있다. a = [10, 20, 30, 40, 100] a.append([500,600]) 이렇게 리스트 안에 리스트가 또 들어가짐을 확인할 수..

    ProjectH4C 1개월 2주차 과제 (UNIT 19, 20, 21)

    📖 UNIT 19. 계단식으로 별 출력하기 📒사각형으로 별 출력하기 for만을 사용하여 문제를 풀어보자. for i in range(5): for j in range(5): print('*', end='') print('') 다음 걸 풀어보자. 📒계단식으로 별 출력하기 for만 사용하면 되겠다. for i in range(5): for j in range(i+1): print('*', end='') print('') 📖 UNIT 20. FizzBuzz 문제 FizzBuzz 문제라고 한다. 그냥 바로 풀어보자. for i in range(1,101): if (i%3==0 and i%5==0): print('FizzBuzz', end=' ') elif (i%3==0): print('Fizz', end=' '..

    ProjectH4C 1개월 2주차 과제 (UNIT 16, 17, 18)

    📖 UNIT 16. for와 range for와 range를 이용하여 print('Hello, World!')를 100번 출력해보자. for 변수 in range(횟수): 반복할 코드 먼저 반복문의 구조는 이렇다. 밑은 생략되었지만, 100번 출력이 되었다. 변수의 변화도 알아보자. for i in range(100): print(i) 0에서 시작해서 99에서 끝난다. 0에서 99까지 총 100번 돌게 되는 것이다. 그럼 5에서 10까지 반복하고 싶으면 어떻게 하면 될까? 바로 요렇게 하면 된다. 엄ㅁㅁㅁㅁㅁㅁㅁㅁ청 쉽다 이렇게 해주면 증가폭을 2로 설정해줄 수 있다. 이번엔 시퀀스 객체로 반복해보자. 개인적으로 난 이부분이 파이썬의 묘미라고 생각한다. fruits = ('apple', 'orange',..

    8장 abex' crackme #2 (abexcm2)

    먼저 이 프로그램은 Visual Basic 으로 제작되었다. VB는 MSVBVM60.dll 이라는 VB 전용 엔진을 사용한다. (Visual Basic 6.0이다. 뭐 이런건가?) 또한 이 엔진은 The Thunder Runtime Engine 이라고 불리운다. 메시지 박스를 출력하고 싶을 때 VB 코드에서 MsgBox()를 출력하는데, 이런 것들이 사용 예이다. VB 컴파일러는 실제로 MSVBVM60.dll!rtc MsgBox()함수를 호출하게 하고, 이 함수 내부에서 Win32API인 user32.dll!MessageBoxW()함수를 호출해주는 방식으로 작동된다. (MsgBox()함수는 VB에서 MessageBoxW()함수를 부르기 위한 함수인가 ?) VB 소스코드에서 user32.dll!Messag..