입출력
- print() 안에 쉼표를 찍어 순서대로 나열하면, 그 순서대로 공백을 두고 출력
print('a', 'b') -> a b
#print() 안에 쉼표를 찍어 순서대로 나열하면, 그 순서대로 공백을 두고 출력
- input().split()
- input().split(':') 를 사용하면 콜론 ':' 기호를 기준으로 자른다. (기본값은 띄어쓰기)
- print(’a’, ‘b’, sep=':') 를 사용하면 콜론 ':' 기호를 사이에 두고 값을 출력한다.
a, b = input().split(':')
print(a, b, sep=':')
- input()을 통해 입력되는 값은 기본적으로 string → 다른 type으로 사용하려면 변환과정이 필요
a = input()
a = float(a)
값변환(진수)
a = input()
n = int(a, 16) #입력된 a를 16진수로 인식해 변수 n에 저장
print('%o' % n) #n에 저장되어있는 값을 8진수(octal) 형태 문자열로 출력
- 문자를 10진수 유니코드(Unicode) 값으로 출력
- ord( ) 는 어떤 문자의 순서 위치(ordinal position) 값을 의미
- 각각의 문자들에는 연속된 정수 값이 순서에 따라 부여 되어 있다. A:65, B:66, C:67 ....
- ord(c) : 문자 c 를 10진수로 변환한 값
n = ord(input()) #입력받은 문자를 10진수 유니코드 값으로 변환한 후, n에 저장
print(n) #n값으로 'A'가 입력되면 65라는 값이 출력
- 10진수 정수를 문자 유니코드 값으로 출력
- chr( )는 정수값→문자, ord( )는 문자→정수값 형태로 바꿔주는 기능
c = int(input())
print(chr(c)) #c에 저장되어 있는 정수 값을 유니코드 문자(chracter)로 바꿔 출력
산술연산
- 나눈 몫을 계산하는 연산자(//, floor division)
print(a//b) #a//b 와 같이 작성하면, a를 b로 나눈 몫(quotient)을 계산
- 실수(float) 반올림 - format(${target}, “.${num}f”)
print(format(avg, ".2f"))
비트시프트연산
a = 2
b = 10
print(a << b) #2**10 = 1024 가 출력된다.
비트단위논리연산
- 비트단위(bitwise) 연산자
- ~(bitwise not)
- &(bitwise and)
- |(bitwise or)
- ^(bitwise xor)
- <<(bitwise left shift)
- >>(bitwise right shift)
a=int(input())
print(~a) #비트 단위로 1 -> 0, 0 -> 1로 바꾼 후 그 값을 10진수로 출력한다.
논리연산
- bool( ) 을 이용하면 입력된 식이나 값을 평가해 불 형의 값(True 또는 False)을 출력
- python 언어에서 정수값 0은 False(거짓)로 평가되고, 그 외의 값들은 모두 True(참)로 평가
n = int(input())
print(bool(n)) #입력된 값이 0이면 False, 0이 아니면 True를 출력한다.
- XOR(exclusive or, 배타적 논리합) 연산
a, b=input().split()
c = bool(int(a))
d = bool(int(b))
print((c and (not d)) or ((not c) and d))