본문 바로가기
수업(국비지원)/Python

[Python] 연산자

by byeolsub 2023. 4. 24.

📌

#### 자료형 : 변수를 선언하지 않고 사용 할 수 있다. 
# 변수의 자료형은 값으로 결정됨. 하나의 변수가 값에 따라 변화됨.
n = 10
type(n) # int

n =10.5
type(n)  # float

n ='안녕'
type(n) # str

### 연산자
# 산술연산자 : +, -, *, /, %, //, **
5+7 #더하기
5*7 #곱하기
5/7 #나누기
5%7 #나머지
5//7 # 정수형 몫의 값. 결과가 정수로 출력
5**2 # 5의 2승.(제곱) 5*5 

#문제 : 3741초가 몇시간 몇분 몇초인지 출력하기
print(3741//3600,'시간',(3741%3600)//60,'분',(3741%3600)%60,'초')

#키보드에서 초를 입력받아 시분초 출력하기
#input 함수 : 입력 자료형
#             문자열 형태로 입력 받음.(숫자를 입력해도 문자열로 들어옴)
#int 함수 : 문자열을 정수형으로 변경하는 함수
second = int(input("초를 입력하세요 :"))
print(second//3600,'시간',(second%3600)//60,'분',\\
      (second%3600)%60,'초')
    
# 대입연산자 : =(오른쪽에 있는 값을 왼쪽에 입력해), +=, -=, *=, ...
a = 10 
a += 10
a
a -= 5
a
a  *= 2
a
    
#문자열에서 사용가능한 대입연산자 : =, +=, *=
s = "abc"
s += "d"
s
s *= 3 #'abcd'를 세번써라. 
s # 결과 -> 'abcdabcdabcd'

#자연수를 입력받아 +100을 한 값을 출력하기
num = int(input("자연수를 입력하시오 :"))
num += 100
print(num)

# 형변환 함수
#int() : 정수형으로 변환
#float() : 실수형으로 변환
#str() : 문자열형으로 변환
print("num+100=" +str(num))

#2,8,16 진수를 10진수로 변환
print(int("11",2)) # 11이라는 문자열을 2진수로 인식하여 정수형으로 출력
print(int("11",8)) 
print(int("11",16))

#10진수를 2,8,16진수로 변환
print(10,"의 2진수:",bin(10))
print(10,"의 8진수:",oct(10))
print(10,"의 16진수:",hex(10))

# 형식 문자를 이용하여 출력하기 : 
# %d(10진수 정수), 
# %f(실수), 
# %s(문자열 표시)
print("%d * %d = %d" % (2,3,6))
print("%f * %f = %f" % (2,3,6))
print("%.2f * %.2f = %.2f" % (2,3,6))

# format 함수를 이용한 출력
#{0:d} : format 함수의 첫번째(인덱스) 값을 10진수로 출력
#{0:5d} : 첫번째 값을 정수형 5자리로 출력
#{1:5d} : 두번째 값을 정수형 5자리로 출력
#{2:5d} : 세번째 값을 정수형 5자리로 출력
print("{0:5d}{1:5d}{2:5d}".format(100,200,300))
print("{1:5d}{2:5d}{0:5d}".format(100,200,300))

# %x, %X : 16진수 표현 
print("%X" % (255)) # 결과 -> FF
print("%x" % (255)) #결과 -> ff

print("%s %s" % ("홍길동","김삿갓")) # 결과 -> 홍길동 김삿갓
print("안녕 %s!, 나도 %s" % ("홍길동","김삿갓")) # 결과 -> 안녕 홍길동!, 나도 김삿갓

# 직접 변수 이름으로 출력
a = 100
b = 200
print(f"{a},{b}")