![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cT2S86/btquaOZonsI/mpFD44BkKhMWQkWoEt2fzK/img.png)
Chapter 04 연습문제 풀이 1. 산술 연산자가 아닌 것을 모두 고르시오 + - * ^ ~ / // % ** & *** ? ★ ^(배타적 논리합), ~(부정), &(논리곱) 은 비트 연산자다. ★ ***와 ?는 연산자가 아니다. 2. 다음 계산식의 결과를 예측하시오. a, b = 10, 20 ★ 변수 a와 b에 각각 10과 20을 대입하기 때문에 a = 10; b =20(int 형)이 수행된다. ⓵ a + b ★ > 30 ⓶ a - b ★ >-10 ⓷ a % b ★ >10 ( %는 나머지를 반환해 주는 연산) ⓸ a // b ★ >0 (//는 몫을 반환해 주는 연산) 3. 다음 계산식의 결과를 예측하시오. a, b, c = 1, 2, 3 ★ 위와 마찬가지로 변수 a, b, c에 각각 1, 2, 3을..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ewi2eP/btqucoMutCX/3HD8UZ7eAGz6JxtWlMIYOk/img.png)
Chapter 05 연습문제 풀이 1. if 문의 기본 형식이다. 빈칸을 제시된 보기로 채우시오. if 조건식 : 실행할 문장 1 else : 실행할 문장 2 2. 다음 if 문의 결과를 예측하시오. a = 100 if a != 100 : print("100이 아니군요.") else : print("100이군요.") ★ >100이군요 a에 100이 담겨 있으므로 조건식 a != 100이 False가 된다. 따라서 if에 속한 문장은 무시가 되고 else가 실행된다. 3. 다음 if 문의 결과를 예측하시오. a = 123 if a == 100 : print("100이군요.") print("100이 아니군요.") ★ > a = 123이므로 if의 조건식이 false가 된다. 따라서 if 문에 속한 아래 두 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/TI7PV/btqtYtU9spd/JPL2mGWJK2WkRXOVHwAKPk/img.png)
enumerate() 이 함수는 컨테이너 자료형의 원소와 인덱스 넘버를 튜플 형태로 반환해 줍니다. 주로 반복문이 몇번 째 반복되고 있는지 알 필요가 있을 때 사용합니다. 숫자(num)와 진법(base)를 입력받고 10진수로 변환해 출력해주는 코드입니다. enumerate가 (반복 횟수, num의 원소)를 튜플 형태로 반환해 줘 (index, x)에 넣어줍니다. Int(x, base=10) 위의 함수는 일반적으로 형변환을 할 때 사용합니다. 하지만 뒤의 2번 째 keyword arguments를 보면 base=10이 있습니다. 이는 디폴트 값으로 10 진수로 받고 있다는 말인데, 사실 이 int() 함수는 인자 값으로 받은 숫자를 10진수로 변환하는 기능을 가지고 있습니다. 일반적으로 10진수의 숫자들을..
책 "파이썬 for Beginner"의 연습문제를 개인적으로 풀어보고 올린 내용입니다. Chapter 03 연습문제 풀이 1. 실행하면 오류가 발생하는 것을 모두 고르시오.⓵ print(“500 + 500”)⓶ print(“%d” % (500 + 500))⓷ print(“%d” % (500, 600)) ★⓸ print(“%d %d” % (700)) ★ ## 둘 다 서식 문자의 개수와 대입되는 객체의 개수가 다르기 때문에 오류가 발생한다.3번-TypeError: not all arguments converted during string formatting4번-TypeError: not enough arguments for format string 2. print() 함수의 결과를 예측하시오.⓵ print(..
소켓 프로그래밍의 개념적인 부분 참조 : 네트워크 소켓 프로그래밍 개요명령행 인자 부분 참조 : Python argparse 명령행 인자 받기파일 부분 참조 : Python 파일 처리 소켓으로 서버와 클라이언트가 파일 주고 받기 > python file_client.py -i '서버 ip주소' -p '포트 번호' -f '파일 명' > python file_server.py -p '포트 번호' -d '파일 디렉토리' ## file_sever.py import socketimport argparsefrom os.path import existsimport os def run_server(port, directory): host = '' with socket.socket(family=socket.AF_INET..
우리가 파일의 내용을 읽고, 쓸 때는 텍스트 형식이지만 사실 파일은 0과 1로 이루어진 이진 데이터다. 즉, 텍스트 파일이든 뭐든 결국 바이너리 파일인 것이고 문자열 정보들이 인코딩되어 바이너리 정보로 바뀌게 된다. 따라서 파일을 읽고 쓰기 위해서는 인코딩 과정이 필요하다. 파이썬에서 사용하는 문자열 규격 코드는 유니코드로, 잘 알려진 UTF-8이 있다. 파이썬이 파일을 읽고 쓸 때 이 유니코드에 매핑된 문자열의 이진 값(bytes or byte array)을 사용한다. 파일 처리 방식 1. 인코딩 방식을 정한다 2. 데이터를 bytes or byte array 타입으로 바꿔주기 위해 인코딩을 한다. 3. 인코딩한 값으로 파일에 쓴다.(파이썬 내부 함수 이용) 4. 파일을 텍스트로 읽기 위해서는 다시 디..
소켓 프로그래밍의 개념적인 부분 참조 : 네트워크 소켓 프로그래밍 개요명령행 인자 부분 참조 : Python argparse 명령행 인자 받기클라이언트가 보내준 문자열을 거꾸로 전송해주는 서버 구현 > python client.py -i '서버 ip주소' -p '포트 번호' > python server.py -p '포트 번호' -s '문자열' ## client.py import socketimport argparse def run(host, port, strList): with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((host, port)) msg = " ".join(strList) ## 리스트 요소 사이에 공백을 넣어 스트링..
이 내용은 https://docs.python.org/ko/3.7/library/argparse.html#description 을 참고하였습니다. argparse는 파이썬에서 제공되는 표준 라이브러리로 명령행을 구분해주는 편한 모듈이다.이 모듈을 사용하면 커맨드 라인의 문자열들을 일일히 파싱해서 구분하지 않아도 되고, 다양한 함수들을 이용해 편하게 커맨드 라인 옵션을 입력할 수 있다. 아래의 코드는 간단한 소켓 프로그램을 코딩할 때 사용했던 커맨드 라인 입력을 받는 부분이다.client.py 일부import argparse if __name__ == '__main__': parser = argparse.ArgumentParser(description="Echo client -p port -i host -..
- Total
- Today
- Yesterday
- git
- 김영환
- Thymeleaf
- 스프링
- jsp
- 파이썬 for Beginner 솔루션
- JPA
- 방명록 프로젝트
- Do it! 정직하게 코딩하며 배우는 딥러닝 입문
- Gradle
- spring mvc
- 스프링 테스트
- Spring
- 파이썬 for Beginner 연습문제
- 선형 회귀
- 프로그래머스
- 스프링 컨테이너
- 쉽게 배우는 운영체제
- git branch
- 스프링 mvc
- Python Cookbook
- 지옥에서 온 git
- Spring Boot
- 운영체제 반효경
- 쉘 코드
- Computer_Networking_A_Top-Down_Approach
- 생활코딩 javascript
- Spring Data JPA
- 패킷 스위칭
- git merge
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |