yumyum

[Python] print, 진법 변경 본문

ICT기반 클라우드 네트워크 해킹 침해대응전문가/Python

[Python] print, 진법 변경

yumyum0603 2023. 10. 23. 16:15

alt + shift + e => 선택한 항목 출력

1. test

print("Hello World ~!!!")
print('Hello World ~!!!')
# 주석입력
# () : 함수 사용한다는 의미, 입력 or 출력값
# "" : 문자열  // 정수, 실수, 불(참, 거짓)

print(1024)
# print(숫자)

a = 10
b = 20
c = 3.14
d = "김대위"
e = (" 나가")

print(a)
print(a + b)
print(c + a)
print(d)
print(d + e)

"""
여러줄 
주석
처리
해봅
시다
"""
'''
여러줄
주석
처리
해봅
시다
'''

2. cal

a = 200
b = 10
# 변수 선언

# 더하기 연산
# 1. 더하기 결과 값을 다른 변수에 저장
# 2. print 구문에 연산 과정 기입

result =  a + b
print(result)

print(a+b)

# Quiz) 빼기, 곱하기, 나누기 연산 값 출력

print(a-b)
print(a*b)
print(a/b)

### 숫자를 입력 받는(input) 사칙 연산 계산기
a = int(input("첫번째 숫자를 입력하세요 : "))
b = int(input("두번째 숫자를 입력하세요 : "))
# input() :  사용자에게 입력 받은 값을 변수에 저장
# 기본 데이터 형식 => 문자열
# 정수형으로 입력을 받아야한다 -> int()

res = a + b
print(a, "+", b, "=", res)
# 변수, 숫자 // "문자열"
# 구분자는 ,
res = a - b
print(res)

res = a * b
print(res)

res = a / b
print(res)

# Quiz) a,b,c 써서 정수 3개 사칙 연산 계산기 만들기

a = int(input("첫번째 숫자를 입력하세요 : "))
b = int(input("두번째 숫자를 입력하세요 : "))
c = int(input("세번째 숫자를 입력하세요 : "))
# input() :  사용자에게 입력 받은 값을 변수에 저장
# 기본 데이터 형식 => 문자열
# 정수형으로 입력을 받아야한다 -> int()

res = a + b + c
print(a, "+", b, "+", c, "+", res)
# 변수, 숫자 // "문자열"
# 구분자는 ,
res = a - b - c
print(a, "-", b, "-", c, "-", res)

res = a * b * c
print(a, "*", b, "*", c, "*", res)

res = a / b / c
print(a, "/", b, "/", c, "/", res)

3. 변수

# 프린트 서식
print("안녕하세요")
print("100" + "200")
print(100+200)

print("%d" % 100)
# 숫자 100 => 정수 형식으로 출력
print("%d" % (100+2300))
# 연산 결과를 정수로 출력
print("김준수가 오늘 한 현질은", 100, "원 입니다.")
print("김준수가 오늘 한 현질은 %d원 입니다." % 100)
# %d는 문자열 중간에 데이터 형식이 다른 정수형을 넣어 출력 할 수 있다

print("김준수가 %d달 동안 한달에 %d원씩 총 %d원을 현질했다." % (3, 50000, 50000*3))
# 문자열에 정수 두개 이상 넣기
# 정수가 여러개거나, 연산이 들어가면 % (123,123,12) => 괄호로 묶어준다

# 진수 별 % 사용법
print("%d" % 123)
print("%x" % 123)
print("%o" % 123)
# 입력값의 변화x, 출력값만 지정한 형식대로 출력
# 10진수, 16진수, 8진수

print("%5d" % 123)
print("%05d" % 123)

# 실수 float :  소수점이 있는 숫자
print("%f" % 123.45)
print("%7.1f" % 123.45)
# 7자리 확보 후(소수점 포함) + 소수점 밑 1자리 반올림
print("%7.3f" % 123.45)
print("%07.1f" % 123.45)
# 정수 부분 0으로 채우기

# 문자열 string : 한글자 이상
print("%s" % "p")
print("%s" % "python")

# 문자 character : 한글자 (언어 상관 x)
print("%c" % "B")
print("%c" % "b")
print("%c" % "밴")
print("%c" % "民")
print("%c" % "ó")

## format 함수와 {}를 사용해 서식 지정
print("%d %5d %05d" % (123,123,123))
print("{0:d} {1:5d} {2:05d}".format(123,123,123))

# Quiz) 한달 동안 사용한 생활비, 하루 평균 사용한 용돈  => 프린트 구문 사용
#       하루 평균 사용한 용돈 10자리 확보, 소수점 밑 2자리
print("한달 동안 사용한 생활비는 %d이며, 하루 평균 사용한 용돈은 %10.2f이다." % (700000,700000/31))
# 결과 => 한달 동안 사용한 생활비는 700000이며, 하루 평균 사용한 용돈은   22580.65이다.

## 이스케이프 문자
# \ 역슬레쉬를 적어 단순 문자가 아닌 기능을 가진 문자 표현

print("가나다라마바사아자차카타파하")

print("가나다라마바사")
print("아자차카타파하")

print("가나다라마바사\n아자차카타파하")
# 명령어 두 줄로 프린트 하는것과 결과는 같음
# 컴퓨터가 연산할 때 명령어는 한줄
# 연산속도, 자원소모, 최적화
# 결과 => 가나다라마바사 (엔터) 아자차카타파하

print("\n줄바꿈\n연습\n입니다")
print("탭\t이스케이프\t연습")
# 결과 =>
#줄바꿈
#연습
#입니다
#탭	이스케이프	연습

print("글자에 \"따옴표\"사용")
# 결과 => 글자에 "따옴표"사용
print("역슬레쉬 \\")
# 결과 => 역슬레쉬 \

print("'작은 따옴표' 쓰고 싶어요")
# 결과 => '작은 따옴표' 쓰고 싶어요
print('"큰 따옴표" 쓰고 싶어요')
# 결과 => "큰 따옴표" 쓰고 싶어요

#### 변수 ####
# 값을 담아내는 그릇
# 변수의 종류 : 정수, 실수, 문자열, 불(True, False)

# 변수를 사용할 때 주의 할 점 !!!
# 1. 변수 이름은 대소문자 구분
# 2. 문자(한/영대소), 숫자, 언더바(_)를 포함 할 수 있다
# 3. 변수명은 숫자로 시작 할 수 없다 ex) a1, a2 (O) 2a, 3a (X)
# 4. 예약어(파이썬이 쓸려고 예약해놓은것)는 변수 이름으로 못씀 (True, False, None, and, or, if, else, print,,,)

# Python 변수의 특징
# 파이썬의 변수는 변수 선언 없이 사용 할 수 있다
# 한 번 선언된 변수의 데이터 형식을 얼마든지 바꿀 수 있다

a = 100
print(a)
print(type(a))

a = "신유림"
print(a)
print(type(a))
# type는 유형을 알려준다
#a = 10은 a => 10과 같은 의미 그러므로 10=a라고 표현할 수 없다

사람 = "김준수는 사람입니다."
print(사람)
# 결과 => 김준수는 사람입니다
사람1 = "김준수는 사람입니다."
print(사람1)
# 결과 => 김준수는 사람입니다

"""
1사람 = "김준수는 사람입니다" => 숫자가 먼저 나오는 변수는 불가능
"""

a = 100

b = a
print(b)
# b <= a // 방향성을 갖는다
# a에 이미 저장 된 값을 b에 담는다

c = 1234 + 345345
print(c)
# 변수에 연산 결과 값을 넣을 수 있다

A = a + b + 100
print(A)
# => 300
print(a)

v1=v2=v3=v4=0
print(v1)
print(v2)
print(v3)
print(v4)
# 여러개 변수를 동시에 값 넣을 수 있다

i = 1
print(i)
# => 1
i = i + 2
i += 2
# 둘이 같은 의미의 함수
print(i)
# => 3
# 변수 자신에 값을 더해서 사용 할 수 있다
# for문(반복문)에서 반복 횟수 제어할 때 사용

# Quiz) 정수, 실수, 문자열, 불 // 각 데이터 형식의 변수 2개씩 만들기
# 1. 각 변수의 데이터 형식 출력
# 2. 같은 데이터 형식 연산 결과 값 출력
# 3. 다른 데이터 형식 연산 결과 값 출력

a = 100
b = 2
c = 3.5
d = 5.7
e = "yulim"
f = "class"
g = True
h = False

print(type(a)
print(type(e))
print(type(c))
print(type(g))
print(e+f)
print(a+b)
print(c+d)
print(g+h)
# <class 'int'> => 정수형 데이터 ex)123
# <class 'str'> => 문자열 ex) 안녕
# <class 'float'> => 실수
# <class 'bool'> => 참/거짓
# yulimclass
# 102
# 9.2
# 1

## 진법 변환
# 0b => 2진수
# 0x => 16진수
# 0o => 8wlstn
# 출력 형식

# 010101010101011010 => 문자열이나 정수
# 0b100101010101 => 이진수

print(0b1000101010101)
# => 4437
# 0b를 숫자 앞에 쓰면 (binary(2진수)의 약자) 뒤에 숫자를 2진수로 인식

print(int('10001010101', 2))
# => 1109

# int(정수형) 표현, 옵션값 2를 주면 2진수로 인식

print(0xFA)
# => 250
# 0x => 16진수를 10진수로 변환해 출력

print(int('FA', 16))
# => 250




## 함수를 사용한 진법 변환
print(bin(1234))
print(bin(0x1234))
print(bin(0o1234))
# => 0b10011010010
# => 0b1001000110100
# => 0b1010011100
# x진수의 값을 2진수로 변환시켜줌

print(hex(1234))
print(hex(0x1234))
print(hex(0o1234))
# => 0x4d2
# => 0x1234
# => 0x29c
# x진수의 값을 16진수로 변환시켜줌

print(oct(1234))
print(oct(0x1234))
print(oct(0o1234))
# => 0o2322
# => 0o11064
# => 0o1234
# x진수의 값을 8진수로 변환시켜줌

# int : 10진수 (정수)
# bin : 2진수
# oct : 8진수
# hex : 16진수

# Quiz) 2진수 입력 받아 10, 8, 16 진수로 출력
#       8진수 입력 받아 10, 2, 16 진수로 출력
#       16진수 입력 받아 10, 2, 8 진수로 출력
#       10진수 입력 받아 2, 8, 16 진수로 출력
print("2진수(0b10011010010)를 입력받아 10,8,16 진수로 출력")
print(int(0b10011010010))
print(oct(0b10011010010))
print(hex(0b10011010010))

print("8진수(0o2322)를 입력받아 10,2,16 진수로 출력")
print(int(0o2322))
print(bin(0o2322))
print(hex(0o2322))

print("16진수(0x4d2)를 입력받아 10,2,8 진수로 출력")
print(int(0x4d2))
print(bin(0x4d2))
print(oct(0x4d2))

print("10진수(5)를 입력받아 2,8,16 진수로 출력")
print(bin(5))
print(oct(5))
print(hex(5))

## 데이터 형식
# 1. 정수
a = 123
print(type(a))
a = 123 ** 123
print(type(a))
# => <class 'int'>
# 파이썬은 int(정수)의 크기 제한이 없다

# 2. 실수
a = 3.14
b = 3.14e5
# e = 10^n (0이 n개)
print(a,b)
print(a+b, a-b)
# 정규형 표현은 소문자 e로 사용한다
# 실수들 끼리 사칙연산 가능

# 3. 불(bool), 불 대수, 불린(boolean) 함수
# True, False
a = True
b = False
print(type(a), type(b))
# => <class 'bool'> <class 'bool'>

a = (100==200)
b = (10 < 100)
print(type(a), type(b))
# => <class 'bool'> <class 'bool'>
print(a,b)
# => False True
# 참, 거짓 값 표현 할 때 사용
# 불 => while에서 많이 사용된다

# 4. 문자열
# 문자열은 양쪽 끝에 "" '' 로 묶어야 한다
print("ICT 기반 정보보안")
print('ICT 기반 정보보안')
# => ICT 기반 정보보안
print('ICT "기반" 정보보안')
# =>ICT "기반" 정보보안
print("ICT '기반' 정보보안")
# => ICT '기반' 정보보안

a = """김준수 
        김대위
        1조조장
        1조5000억"""
print(a)

# => 김준수 
#         김대위
#         1조조장
#         1조5000억

4. 연산자

 

'ICT기반 클라우드 네트워크 해킹 침해대응전문가 > Python' 카테고리의 다른 글

[Python] 리스트, 튜플, 딕셔너리  (0) 2023.10.25
[Python] 반복문 while  (0) 2023.10.25
[Python] 반복문 for  (0) 2023.10.24
[Python] 조건문  (0) 2023.10.24
[Python] 연산자  (0) 2023.10.23