3.2 할당 연산자를 통해 변수에 값을 넣자
x = 100 + 200 # x에 100 + 200의 결과를 할당
x
x = 20
y = 10
100 = x + y
x = y = 100 # 여러 변수에 동일한 값을 할당하는 다중 할당문
x, y
n1, n2 = 100, 200 # 여러 변수에 한꺼번에 여러 값을 할당하는 동시 할당문
n1, n2
3.3 수식과 연산자는 어떻게 쓰는 걸까
7 / 4
8 / 4
7 // 4
3.4 컴퓨터과학에서 아주 중요한 나머지 연산자 : %
p = int(input("분자를 입력하시오: "))
q = int(input("분모를 입력하시오: "))
print("나눗셈의 몫=", p // q)
print("나눗셈의 나머지=", p % q)
number = int(input("정수를 입력하시오: "))
print(number%2)
4 * 2 ** 7
3.5 거듭제곱 연산자 : **
a=1000
r=0.05
n=10
print(a*(1+r)**n)
bottom = float(input('직각삼각형의 밑변의 길이를 입력하시오: '))
height = float(input('직각삼각형의 높이를 입력하시오: '))
hypotenuse = (bottom ** 2 + height ** 2 ) ** 0.5
print('빗변은', hypotenuse, '입니다')
LAB3-1 거북이 그래픽으로 숫자를 입력받아 다각형을 그리자
import turtle
t = turtle.Turtle()
t.shape("turtle")
n = int(input("몇각형을 그리시겠어요?(3-6): "))
for i in range(n) :
t.forward(100)
t.left(360//n)
turtle.done()
try:
turtle.bye()
except:
print("bye")
LAB3-2 화씨온도를 섭씨온도로 변환하기
fahrenheit = int(input("화씨온도: "))
celsius = (fahrenheit - 32) * 5 / 9
print("섭씨온도:", celsius)
fahrenheit = float(input("화씨온도: "))
celsius = (fahrenheit - 32.0) * 5.0 / 9.0
print("섭씨온도:", celsius)
LAB3-3 몸무게와 키를 입력받아 BMI 계산하기
weight = float(input("몸무게를 kg 단위로 입력하시오: "))
height = float(input("키를 미터 단위로 입력하시오: "))
bmi = (weight / (height**2))
print("당신의 BMI=", bmi)
LAB3-4 자동 판매기 프로그램을 만들어 보자
money = int(input("투입한 돈: "))
price = int(input("물건값: "))
change = money-price
print("거스름돈: ", change)
coin500s = change // 500# 500으로 나누어서 몫이 500원짜리의 개수
change = change % 500# 500으로 나눈 나머지를 계산한다.
coin100s = change // 100# 100으로 나누어서 몫이 100원짜리의 개수
print("500원 동전의 개수:", coin500s)
print("100원 동전의 개수:", coin100s)
3.6 복합 할당 연산자라는 데이터 과학을 위한 연산자
num = 200
num += 100 # 200 + 100 연산을 수행하여 그 결과를 num에 할당
num
num -= 100 # 300 ? 100 연산을 수행하여 그 결과를 num에 할당
num
num *= 20 # 200 * 20 연산을 수행하여 그 결과를 num에 할당
num
num /= 2 # 4000 / 2 연산을 수행하여 그 결과를 num에 할당
num
num /= 2 # 4000 / 2 연산을 수행하여 그 결과를 num에 할당
num
3.7 두 값의 크기를 비교하는 비교 연산자
a=777
b=888
a != b
a > b
a < b
a >= b
a >= b # 두 개의 기호로 표현된 관계 연산자는 띄어쓰면 안 된다.
a => b # 두 개 기호로 표현된 관계 연산자의 순서를 뒤집어도 안 된다.
3.8 AND, OR, NOT도 연산자로 사용가능하다 : 논리 연산자
10 > 20 # 10은 20보다 작으므로 10 > 20은 False가 됨
10 < 20# 10은 20보다 작으므로 10 < 20은 True가 됨
bool(9) # 9는 0이 아니므로 True가 됨
bool(-1) # -1 역시 0이 아니므로 True가 됨
bool(0)# 숫자 값중에서는 유일하게 0의 값만 False가 됨
bool(None)# None은 값이 없음을 표현함, 따라서 False가 됨
bool('')# 빈 문자열이므로 False가 됨
bool('hello')# 문자열 값이 있으므로 True가 됨
3.9 이진수를 잘 다루는 컴퓨터에 최적화된 연산자 : 비트 연산자
bin(9)
bin(10)
bin(9 & 10)
bin(9 | 10)
bin(~9)
bin(9) # 이진수 00001001
bin(10) # 이진수 00001010
9 ^ 10 # 결과는 00000011 = 십진수 3
bin(9 ^ 10) # 앞 부분의 0은 모두 사라지고 1이 나타나는 곳부터 출력된다.
4 << 1 # 00100을 한 비트 왼쪽으로 이동하여 01000을 만든다.
4 << 2 # 00100을 두 비트 왼쪽으로 이동하여 10000을 만든다.
num = 2 # 정수 2는 이진수 10(2)으로 표현됨
num
num <<= 1 # 정수 2를 1비트 왼쪽 이동시키면 100(4)가 됨
num
num <<= 1 # 정수 4를 1비트 더 왼쪽 이동시키면 1000(8)이 됨
num
num >>= 1 # 정수 8를 1비트 오른쪽쪽 이동시키면 100(4)가 됨
num
LAB3-5 평균 구하기 - 연산자 우선순위
x = int(input("첫 번째 수를 입력하시오: "))
y = int(input("두 번째 수를 입력하시오: "))
z = int(input("세 번째 수를 입력하시오: "))
avg = (x + y + z) / 3 # 올바르게 고쳐진 계산
print("평균 =", avg)
import random
random.random()
random.random()
random.randint(1, 7) # 1이상 7이하(7을 포함)의 임의의 정수를 반환
random.randrange(1, 7) # 1이상 7미만(7을 포함안함)의 임의의 정수를 반환
random.randrange(0, 10, 2) # 0, 2, 4, 8 중(10은 포함 안함) 하나를 반환함
random.randrange(0, 10, 2) # 0, 2, 4, 8 중(10은 포함 안함) 하나를 반환함
lst =[11, 22, 33, 44, 55]
random.shuffle(lst)
lst
random.choice(lst)
import math
math.pow(3, 3) # 3의 3 제곱
math.fabs(-12345) # -99의 실수 절대값
math.log(2.71828)
math.log(10000, 10) # 로그 10을 밑으로 하는 100값
math.pi # 원주율
math.sin(math.pi) # sin() 함수의 인자로 PI/2.0를 넣어보자