TIL#28 PYTHON 기초 (16)

Dasom·2020년 8월 9일
0

python

목록 보기
24/50
post-thumbnail

예제 사이트의 기초 예제들을 풀어보며 기억해야 할 것들 다시 한번 정리😀

줄바꿈

sep='\n'

여러 줄에 걸쳐 출력 하고 싶은데 print() 한번에 쓰고 싶을때 유용.

# 실수 입력받아 첫줄엔 정수부분, 둘째줄엔 실수부분 출력
a = input()
b = a.split('.')
print(b[0],b[1],sep='\n')

소수점 자리수 출력

"%0.4f" % 4.1829304

4.1829304를 소수점 4자리까지 출력하고 싶은 경우 위와 같이 쓴다.

# 소수점 11자리까지 반올림 출력.
'''
a = float(input())
print("%0.11f" % a)

진수 표현

파이썬에는 진법 내장함수가 있다.
10진수를 2진법으로 바꿀 때는 bin()
10진수를 8진법으로 바꿀 때는 oct()
10진수를 16진법으로 바꿀 때는 hex()

디폴트값이 10진수이기 때문에 그냥 숫자만 입력하면 10진수로 인식한다.
2진수는 숫자 앞에 0b
8진수는 숫자 앞에 0o
16진수는 숫자 앞에 0x

만약에 앞에 붙은 기호를 제외하고 숫자만 출력하고 싶다면 format 함수를 이용한다. 예를 들어 10진수 50을 2진수, 8진수, 16진수로 숫자만 출력하고 싶다면 format(10, 'b') format(10, 'o') format(10, 'x') 이런식으로 입력하면 된다.

반대로 2진수, 8진수, 16진수를 10진수로 출력하고 싶다면 int 를 이용한다.
int(2진수, 2) int(8진수, 8) int(16진수, 16) 이렇게 입력하면 된다.

# 10진수 입력받아 8진수 정수 출력.
a = int(input())
print(format(a, 'o'))

# 8진수 정수를 입력받아 10진수로 출력.
a = input()
b = '0o'+ a
print(int(b, 8))

# 16진수를 입력받아 8진수로 출력.
a = input()
b = int('0x'+a, 16)
print(format(b, 'o'))
# 16진수 구구단 만들기
x = input()
y = int(x, 16)
for i in range(1, 16):
    a = format(y*i, 'X')
    b = format(i, 'X')
    print(x+'*'+b+'='+a)

아스키 코드

ord(문자) 아스키코드의 10진수값으로 반환
chr(숫자) 숫자에 맞는 아스키코드 반환

숫자 부호 변환

-1 을 입력했을때 1로 출력하거나 1을 입력했을때 -1 을 출력하고 싶다면
-를 숫자 앞에 붙이면 된다. 부호가 바뀌어서 출력됨.

비트 논리 연산자

a & b AND 연산 - 모두 참이어야 참
a | b OR 연산 - 모두 거짓이어야 거짓
a ^ b XOR 연산 - 서로 다를 때만 참
~a NOT 연산 - 참이면 거짓, 거짓이면 참

profile
개발자꿈나무🌲

0개의 댓글