컴공생의 공부LOG

[프로그래밍 기초] 식 본문

학교 수업/1학년 1학기

[프로그래밍 기초] 식

푸우키 2024. 11. 26. 12:51

문자열

문자(Character)

문자를 키보드에 입력하면, 문자를 자연수(0~127)로 인코딩하고, 그 자연수를 ASCII에 따라 문자로 디코딩한다

ASCII(American Standard Code for Information Interchange)

ASCII에 없는 문자는 Unicode를 사용하여 디코딩한다.

문자는 ""나 ''로 표현할 수 있다

 

Q1. 임의의 키보드 문자를 몇 개 골라서 위와 같은 요령으로 ord를 사용하여 그 문자에 해당하는 아스키 코드값을 인터프리터로 확인하자.

 

 

 

Q2. 0에서 127 사이의 코드값을 몇 개 골라서 위와 같은 요령으로 chr를 사용하여 그 아스키 코드값에 해당하는 문자를 인터프리터로 확인하자.

 

Q3. 한글 문자 몇 개를 임의로 골라서 그 문자에 해당하는 유니코드 값을 인터프리터로 확인하자.

 

Q4. 적절한 유니코드 값 몇 개를 임의로 골라서 그 유니코드 값에 해당하는 한글 문자를 인터프리터로 확인하자.

 

문자열(String)

문자열은 큰따옴표("")나 작은따옴표('') 안에 넣어서 표현한다.

 

문자열 구분문자(String Delimiter)

 

문자열 붙이기 (+)

 

빈 문자열 (" " or ' ')

 

문자열 이어 붙이기 (*)

 

문자열 구분문자 (" or ')

 

만약 Halley's Comet 같은 경우는 어떻게 표현해야 할까? 

-> 탈바꿈 문자 (Escape Character)(\)를 사용한다

-> 'Halley\'s Comet'

 

탈바꿈 문자 (Escape Character)(\)

 

Q5. 다음 문장을 하나의 문자열로 표현하자.

She said, "I've seen it before!"

"를 구분문자로 사용하는 경우와 '를 구분문자로 사용하는 경우 모두 해봐야 한다.

 

 

표준 출력 (Standard Output) (print())

 

붙박이 함수 (Built-in Function)

파이썬 표준 라이브러리 (The Python Standard Library) (https://www.python.org)

 

특수 문자

-\n : 새줄 문자

-\t : 탭 문자

 

Q6. 특수 문자 프린트

다음 프린트 명령의 실행 결과가 실행창에 어떻게 보일지 상상한 다음, 그대로 되는지 인터프리터로 확인해 보자.

print("Welcome to\n\tthe world of\n\tcomputer science!")

 

 

수식

수식(Arithmetic Expression)

정수(Integer), 실수(Real Number)

 

실수의 표현

1. 고정소수점 방식 (Fixed Point)

2. 부동소수점 방식 (Floating Point)

 

정수 -> int, 실수 -> float

 

수식의 표현

더하기 빼기 곱하기 나누기 나머지 거듭제곱
+ - * / // % **

 

산술 연산자

부호 바꾸기
-

 

우선순위 (Precedence)

우선순위 연산자 설명
가장높음 ** 거듭제곱
높음 - 부호 바꾸기
낮음 *, /, //, % 곱하기, 나누기, 몫, 나머지
가장낮음 +, - 더하기, 빼기

 

결합순서(Associativity)

결합 순서 연산자
우결합 **
좌결합 * / // % + -

 

 

Q7. 동전 지갑을 뒤져보니 500원짜리 3개, 100원짜리 4개, 50원짜리 3개, 10원짜리 7개가 있다. 총액을 계산하는 수식을 세우고 인터프리터로 실행하여 결과를 확인하자.

 

 

 

Q8. 2시간 45분을 초로 따지면 몇 초가 되는지 계산하는 수식을 세우고 인터프리터로 실행하여 결과를 확인하자.

 

 

Q9. 333초는 분 단위를 넣어서 m분 s초로 표현할 수 있다. m과 s를 계산하는 식을 각각 세워서 인터프리터로 실행하여 답을 구하자. 여기서 s는 60 미만이어야 한다.

 

정수 int 실수 float
무한히 많으나 셀 수 있음 셀 수 없을 만큼 무한히 많음
가용 메모리 한도 안에서 아무리 큰 수라도 파이썬 프로그램으로 모두 처리 가능 모두 처리 불가능하여 불가피하게 근사치로 처리

 

Q10. 실수 계산 오차가 생기는 수식을 하나 만들어 인터프리터로 실행하여 확인해 보자. 

 

타입 변환

타입(Type) : str, int, float

 

연산자의 중복사용 (Overloading)

 

타입 변환

타입 변환 기능
str(x) 정수 또는 실수 x를 문자열로 변환
int(x) 정수 문자열 또는 실수 x를 정수로 변환
float(x) 수 문자열 또는 정수 x를 실수로 변환

 

Q11. 2020년 현재 100m 달리기 세계 기록은 2009년 자메이카 국적의 우사인 볼트가 세운 9.58초이다. 평균 시속으로 따지면 몇 km/hour가 되는지 계산하는 식을 세워서 인터프리터로 실행하여 답을 구하자. 소수점 이하는 버리고 정수로 계산 결과가 나와야 한다. 

 

 

오류

오류(Error) = 버그(Bug) -> 디버깅(Debugging)

구문 오류 (Syntax Error) 실행 오류 (Run-time Error)
문법 오류 타입 오류 (Type Error)
값 오류(Value Error)
나누기0 오류 (Zero Division Error)
...