개발은 처음이라 개발새발

.format() 함수와 operator 모듈 본문

파이썬

.format() 함수와 operator 모듈

leon_choi 2024. 1. 17. 17:23
반응형

1. format함수와 형식문자를 이용한 데이터 출력

userName = '최윤식'
userAge = 31

print('user name : {}, user age: {}'.format(userName, userAge))

#순서 바꾸기
print('user name : {1}, user age: {0}'.format(userName, userAge))

###format 함수는 {}안에 인덱스 번호를 기입해 순서를 변경할 수 있다. ###

#형식문자열
print('user name: %s' % userName)
print('user age: %d' % userAge)
print('user name: %s, user age: %d' % (userName, userAge))

##### %s: 문자열, %d: 정수, %f: 실수

 

2. 소수점 표현

형식 문자열에서는 소수점을 표현할때 %.2f 형태로 하지만 format 함수의 경우 {:.2f}으로 표현한다. :의 왼쪽의 경우는 해당 소수점을 적용할 특정 수치가 있으면 해당 수치의 인덱스 번호를 기입하면 된다.

pi = 3.14
print('pi: %f' % pi) --- 기본
print('pi: %.1f' % pi) --- 소수점 첫째자리까지만
print('pi: %.2f' % pi) --- 소수점 둘째자리까지만

#번외(format함수에서는 소수점 자리 표현을 어떻게 할까?

##원주율 (radius = 3, pi = 3.141592)

radius = float(input('반지름 입력: '))
pi = float(input('원주율 입력: '))

print('radius : %.1f' % radius)
print('pi : %f' % pi)

#형식 문자열로 실습
print('radius : %.1f, pi : %f\nradius: %f, 
       pi: %f\nradius: %.2f, pi: %.2f' % (radius,pi,radius,pi,radius,pi))

#포맷함수로 실습
print('radius : {0:.1f}, pi : {1}\nradius : {0:.6f}, 
        pi : {1}\nradius : {0:.2f}, pi : {1:.2f}'.format(radius,pi))

 

3. divmod(몫, 나머지)

employee = 123
apple = 4
result = divmod(employee,apple)
print('사과를 나누어 줄 수 있는 최대 직원 수 : {}'.format(result[0]))
print('남는 사과 개수 : {}'.format(result[1]))

 

 

4. operator모듈

출저-제로베이스 DA2기
출저-제로베이스 DA2기

import operator
import random

num1 = 8
num2 = 3
#산술 연산자
print('{} + {} : {}'.format(num1,num2, operator.add(num1,num2)))
print('{} - {} : {}'.format(num1,num2, operator.sub(num1,num2)))
print('{} * {} : {}'.format(num1,num2, operator.mul(num1,num2)))
print('{} / {} : {}'.format(num1,num2, operator.truediv(num1,num2)))
print('{} % {} : {}'.format(num1,num2, operator.mod(num1,num2)))
print('{} // {} : {}'.format(num1,num2, operator.floordiv(num1,num2)))
print('{} ** {} : {}'.format(num1,num2, operator.pow(num1,num2)))

#비교 연산자
print('{} == {} : {}'.format(num1,num2, operator.eq(num1,num2)))
print('{} != {} : {}'.format(num1,num2, operator.ne(num1,num2)))
print('{} > {} : {}'.format(num1,num2, operator.gt(num1,num2)))
print('{} >= {} : {}'.format(num1,num2, operator.ge(num1,num2)))
print('{} < {} : {}'.format(num1,num2, operator.lt(num1,num2)))
print('{} <= {} : {}'.format(num1,num2, operator.le(num1,num2)))

#논리연산자
flag1= True
flag2= False
print('{} and {} : {}'.format(flag1,flag2, operator.and_(flag1,flag2)))
print('{} or {} : {}'.format(flag1,flag2, operator.or_(flag1,flag2)))
print('not {} : {}'.format(flag1, operator.not_(flag1)))

##백신접종버전2
age = int(input('나이 입력 :'))
vaccine = operator.or_(operator.lt(age,20),operator.ge(age,65))
print('age : {}, result : {}'.format(age,vaccine))

##random을 활용한 난수
rInt = random.randint(10,100)
num10 = operator.floordiv(rInt,10)
num1 = operator.mod(rInt,10)

print('난수 : {}'.format(rInt))
print('십의 자리 : {}'.format(num10))
print('일의 자리 : {}'.format(num1))

print('십의 자리는 3의 배수이다. : {}'.format(operator.mod(num10,3)==0))
print('일의 자리는 3의 배수이다. : {}'.format(operator.mod(num1,3)==0))
반응형