파이썬 기초-연산자

BlackLabel·2023년 8월 3일
0

파이썬 이론

목록 보기
2/8

12. format() 함수

-중괄호{ }를 포함한 문자열 뒤에 도트(.)를 찍고 format( ) 함수 사용
-중괄호 개수와 format( ) 함수 괄호 안의 매개변수 개수는 동일
-함수를 사용하면 문자열의 {} 기호가 format( ) 함수 괄호 안에 있는 매개변수로 차례로 대치

format() 함수를 이용한 데이터 출력


format() 함수의 인덱스를 이용한 출력


userName이 겹치기 때문에 편의상 인덱스 활용
(첫번째{}는 {0}, 두번째{}는 {1}이기 때문에 세번째{}에 0을 넣어줌)

(첫번째{}에 1, 두번째{}에 0을 넣는다면 순서가 바뀌게 출력 됨)

형식 문자를 이용한 데이터 출력

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


%.nf

%.nf 표현은 소수점 n자릿수까지만 나타내는 표현으로 위 식의 경우 10을 3으로 나누었을때 그 결과가 실수로 나오니 n 뒤에는 실수형 형식 문자인 %f를 붙이는 것이다. (만약 정수형 형식문자 %d 를 붙일 경우 결과값은 정수로 표현됨)

  • 실수에서 소수점 n번째까지 나타내고 싶으면 %.nf
    (사실 %0.nf 이지만 0은 생략해서 쓴다.)

13. 산술 연산자

덧셈, 뺄셈, 곱셉, 나눗셈

숫자와 문자는 더할 수 없음, 문자열은 서로 뺄 수 없음
0을 나누면 항상 0임
0으로는 나눌 수 없음(에러 뜸)
나눗셈 결과는 항상 float

str ='Hi'
result = str * 7 
print('result:{}'.format(result))
#실행결과 result:HiHiHiHiHiHiHi
num1 = 10
num2 = 3
result = num1 / num2 
print('result : %.2f' % result)
#실행결과 result : 3.33
num1=20
num2=5
result = num1 / num2
print(type(result))
#실행결과 <class 'float'>

나머지와 몫

% 나머지 연산자
// 몫 연산자

divmod() : 나머지와 몫 한번에 구하는 함수

num1 = 10 
num2 = 3
result =num1 % num2 
print(result)
#실행결과 1
num1 = 10
num2 = 3
result =num1 // num2
print(result)
#실행결과 3
num1 = 10
num2 = 3
result = divmod(num1, num2)
print('result: {}'.format(result))
#실행결과 result: (3, 1)

거듭제곱과 제곱근

A의 B 거듭제곱 : A ** B

A의 B 제곱근 : A ** (1/B)

num1=2
num2=3
result= num1 ** num2 
print(result) 
#실행결과 8 
result =2 ** (1/3) 
print('2의 3제곱근 %f' % result) 
#실행 결과 1.259921 

math 모듈의 pow() 함수와 sqrt() 함수

import math 입력 시 math 모듈 사용가능

pow(A, B) 함수 : A의 B거듭제곱 구하기

sqrt(A) 함수 : A의 제곱근 구하기

import math
print('3의 제곱근 %f' % math.sqrt(3)) 
#실행결과> 3의 제곱근 1.732051

예제

<문제내용> "아들이 엄마한테 용돈을 받는데, 첫달에는 200원을 받고 매월 이전 달의 2배씩 인상하기로 했다. 12개월째 되는 달에는 얼마를 받을 수 있는지 계산해보자"

firstMoney = 200
after12Month = ((firstMoney * 0.01) ** 12)*100 
print(after12Month) 
#실행결과 409600.0
#이것을 다시 이쁘게 원화표시로 고치려면 format 이라는 함수를 사용하면 됩니다. 
#format 함수는 세자릿수마다 ','(쉼표)를 넣어주게됩니다. 
after12Month = int(after12Month) 
after12MonthFormated = format(after12Month,',')
print(after12MonthFormated,'원')
#실행결과 409,600 원

14. 복합 연산자

할당(대입) 연산자

오른쪽의 값을 왼쪽에 할당(대입)
ex. num1 = 10

복합 연산자

+= 덧셈 연산 후 할당
-= 뺄셈 연산 후 할당
*= 곱셈 연산 후 할당
/= 나눗셈 연산 후 할당
%= 나머지 연산 후 할당
//= 몫 연산 후 할당
**= 거듭제곱 연산 후 할당

15. 비교 연산자 1

: >,>=,==(같다),!=(같지않다)

num1 = 5
num2 = 10
result = num1 != num2
print(result)
print(type(result))
#실행결과: True
<class 'bool'>
#모든 비교연산자의 결과는 bool 임을 알 수 있다. (True,False)

16. 비교 연산자 2

아스키 코드

num1 = 'A'
num2 = 'S' 
print(num1 > num2) 
#실행결과 False, A를 십진법으로 나타냈을때 S보다 낮은 숫자여서 False 가 나옴. 
.
#알파벳을 입력하면 아스키 코드르 출력하는 코드 작성
a = input('알파벳 입력:')
print('{}'.format(ord(a)))
#아스키코드를 입력하면 문자를 출력하는 코드 작성 
a = int(input('아스키 코드 입력:'))
print('{}'.format(chr(a)))

문자열 비교: 문자열 자체 비교

-한글자라도 틀리면 False


17. 논리 연산자

논리 연산자 란, 피연산자의 논리(True, False)를 이용한 연산
논리 연산자 종류 : and, or, not

and 연산
A and B : A와 B 모두 True인 경우만 결과값으로 True이다.

or 연산
A or B : A와 B중 어느하나만 True이면 결과 값은 True이다.

not 연산
not A : A의 상태를 부정하는 결과를 나타낸다.


18. operator 모듈

'모듈'은 여러 변수와 함수를 가지고 있는 집합
누군가 이미 만들어 놓은 훌륭한 기능

산술 연산과 관련된 함수


비교 연산자 관련 함수


논리 연산자 관련 함수


random 모듈

무작위 난수를 추출 해줌

profile
+database

0개의 댓글