※ 산술 연산 ※
ex 1) 정수 2개 입력받아 빼기
a, b = input().split()
a, b = int(a), int(b)
print(a-b)
혹은 다음과 같이 map을 이용해 바로 int()로 형 변환한 후 a, b 변수에 입력도 가능하다.
a, b = map(int, input().split())
print(a-b)
단순히 int()로 변환해주는 첫번째 소스코드의 두 번째 라인을 한 줄의 코드로 변환시켜줄 수 있어 더 효율적인 듯하다.
ex 2) 실수 2개 입력받아 곱하기
f1, f2 = map(float, input().split())
print(f1 * f2)
ex 3) 단어, 반복 횟수 입력받아 반복 횟수만큼 단어 출력하기
w, n = input().split()
print(w*int(n))
입력값 : word 3
출력 값 : wordwordword
ex 4) 문장 여러 번 출력하기
n = int(input())
s = input()
print(s*n)
ex 5) 정수 두 개 입력받아 거듭제곱 계산하기
a, b = map(int, input().split())
print(a**b)
ex6) 실수 두개 입력받아 거듭제곱 계산
a, b = map(float, input().split())
print(a**b)
ex7) 정수 2개 입력받아 나눈 몫 계산, ex8) 정수 2개 입력받아 나눈 나머지 계산
a, b = map(int, input().split())
print(a/b) #3.333333...
print(a//b) #몫 3
print(a%b) #나머지 1
※ 값 변환※
ex1) 실수를 입력받아 소수점 이하 둘째 자리까지 반올림하기
a=float(input())
print(format(a, ".2f"))
format(변수, "형식"))
a = float(input())
print(format(a, '20.2f'))
입력값 : 39.3
출력 값 : 39.30
ex 2) 실수 2개 입력받아 나누기
/ : 나누기
'.3f' : 출력 형식 지정 -> 소수점 아랫자리 3자리까지 출력.
a, b = map(float, input().split())
print(format(a/b, '.3f'))
ex 3) 정수 2개 입력받아 합, 차, 곱, 몫, 나머지, 나눈 값 출력 (단, b는 0이 아니다)
a, b = map(int, input().split())
print(f"{a}와 {b}의 계산 결과.")
print("합:", a + b)
print("차:", a - b)
print("곱:", a * b)
print("몫:", a // b)
print("나머지:", a % b)
print("나눈값:", a / b)
결괏값:
> 10 3
10와 3의 계산 결과.
합: 13
차: 7
곱: 30
몫: 3
나머지: 1
나눈값: 3.3333333333333335
ex 4) 정수 3개 입력받아 합과 평균 구하기.
a, b, c = map(int, input().split())
print(f"{a}, {b}, {c}의 계산 결과.")
sum = a+b+c
avg = (a+b+c)/3
print(f"합:{sum}, 평균:{avg}")
결괏값 :
> 1 2 3
1, 2, 3의 계산 결과.
합:6, 평균:2.0
※ 비트 시프트 연산 ※
ex 1) 입력된 정수를 비트 시프트를 이용해 2배 곱하기
'<<' : 비트 시프트 연산자로, 왼쪽으로 1개 비트를 옮겨 2배 곱 효과를 낸다.
'>>' : 오른쪽으로 1개 비트를 옮겨 1/2 효과.
a = int(input())
print(a<<1)
입력값 : 1024
출력 값 : 2048
ex 2) 정수 두 개 입력받아 a를 2^b 한 값을 출력하기.
a, b = map(int, input().split())
print(a << b)
입력값 : 1 3
출력 값 : 8 ( 1 * (2**3))
※ 비교 연산 ※
ex 1) 두 정수 입력받아 비교하기. a가 b보다 작으면 True, 아닌 경우 False.
a, b = map(int, input().split())
if(a < b):
print("True")
else:
print("False")
ex 2) 두 정수를 입력받아 같은 값이면 True, 아닌경우 False
a, b = map(int, input().split())
if(a == b) : print("True")
else : print("False")
ex 3) 두 정수를 입력받아 b의 값이 a 보다 크거나 같으면 True, 아니면 False.
a, b = map(int, input().split())
if(a <= b) : print("True")
else : print("False")
ex 4) 정수 2개를 입력받아 서로 다르면 True, 같으면 False반환
a, b = map(int, input().split())
if(a == b) : print("False")
else : print("True")
※ 논리 연산 ※
ex 1) 정수 입력받아 boolean값 리턴
Python에서 0은 false, 나머지 숫자는 True로 인식된다.
이 점을 토대로 다음과 같이 코드 작성.
a = int(input())
print(bool(a))
bool() : 불린으로 형 변환.
ex 2) 참, 거짓 반대로 출력하는 프로그램
a = bool(int(input()))
print(not a)
ex 3) 둘 다 참일 경우 참을 출력하는 프로그램 (AND 연산)
a, b = map(int, input().split())
print(bool(a) and bool(b))
ex 4) 하나라도 참일 경우 참 출력 ( OR 연산 )
a, b = map(int, input().split())
print(bool(a) or bool(b))
ex 5) exclusive or 연산. 서로 True, False값이 다를 때만 참.
a, b = map(int, input().split())
print(bool(a) != bool(b))
=>!= 자리에 ^ 이나 is not을 사용해도 동일한 결과를 리턴 받을 수 있음.
ex 6) 참/거짓 값이 같을 때만 True. (불린 값이 같은 경우 참)
a, b = map(int, input().split())
print(bool(a) == bool(b))
ex 7) 둘 다 거짓인 경우 참.
a, b = map(int, input().split())
if (bool(a) or bool(b)):
print("false")
else :
print("true")
※ 비트단위 논리 연산 ※
ex 1) 비트단위 NOT 연산.
비트단위(bitwise) 연산자 종류 :
~(bitwise not), &(bitwise and), |(bitwise or), ^(bitwise xor),
<<(bitwise left shift), >>(bitwise right shift)
a = input()
#~를 붙여 비트단위 not 연산
print(~a)
입력값 : 2 (0010)
출력 값 : -3 (1101)
=> 비트 단위 연산이라 -2가 아닌 1101에 해당하는 10진수 -3이 출력됨.
ex 2) 비트단위 AND연산
a, b = map(int, input().split())
print(a&b)
입력값 : 3 5
출력값 : 1
ex 3) 비트단위 OR연산
a, b = map(int, input().split())
print(a|b)
입력값 : 3 5
출력값 : 7
ex 4) 비트단위 XOR연산
a, b = map(int, input().split())
print(a^b)
입력값 : 3 5
출력값 : 6
※ 3항 연산 ※
기본 형식 : "x if C else y"
C : 조건식
x : 참일 경우 실행될 값
y : 거짓일 경우 실행될 값
ex 1) 정수 두 개 입력받아 큰 값 출력
a, b = map(int, input().split())
print(a if (a >= b) else b)
#조건식을 충족하여 a가 더 크거나 같은 경우 a 출력,
#b가 더 큰 경우 b 출력
ex 2) 정수 세 개 입력받아 가장 작은 값 출력
a, b, c = map(int, input().split())
print((a if (a<c) else c) if(a<b) else (b if (b<c) else c))
=> a와 b를 비교해서 a가 작은 경우
a와 c를 비교.
=> 이외의 경우
b와 c를 비교.
결과적으로 가장 작은 값을 출력하게 함.
Codeup 기초100문제 연습(4) - python (문제 6077~6080) (0) | 2022.08.29 |
---|---|
Codeup 기초100문제 연습(3) - python (문제 6065~6076) (0) | 2022.08.29 |
Python 문자열 format 방법 (0) | 2022.08.25 |
Codeup 기초100문제 연습(1) - Python(문제 6001~6033번) (0) | 2022.08.22 |
Python for문의 언더스코어('_') (0) | 2022.08.17 |