1. 산술 연산자가 아닌 것을 모두 고르시오.
+, -, *, ^, ~, /, //, %, **, &, ***, ?
2. 다음 계산식의 결과를 예측하시오.
a, b = 10, 20
① a + b
30
② a - b
-10
③ a % b
10
④ a // b
0
3. 다음 계산식의 결과를 예측하시오.
a, b, c = 1, 2, 3
① a + b % c
3
② a * b - c
-1
③ a / b * c
1.5
4. 문자열을 숫자로 변환한 후 계산하는 식이다. 오류가 발생하는 것을 고르고, 오류가 발생하지 않도록 수정하시오.
s1, s2, s3 = "111", "111.11", "99999999999999"
① int(s1) + 111.11
② int(s2) + 111.11 int -> float으로 변환, float(s2) + 111.11
③ int(s3) + 111.11
5. 대입 연산자의 활용이다. 결과를 예측하시오.
① a, b = 10, 20; a += b; print(a)
30
② a, b = 10, 20; a %= b; print(a)
10
③ a, b = 10, 20; a //= b; print(a)
0
6. 논리 연산자가 아닌 것을 모두 고르시오.
① and
② or
③ not
④ nor
⑤ xor
⑥ equal
7. 다음 비트 연산자의 활용 결과를 16진수로 예측하시오.
0xFF00 & 0x00FF
0xFF00 | 0x00FF
0xFF00 ^ 0x00FF
0x0000
0xffff
0xffff
8. 다음 비트 시프트 연산자의 활용 결과를 예측하시오.
a = 100; a = a << 100; a = a >>100; print(a)
100
9.다음과 같이 입력한 금액을 5만원, 1만원, 5000원, 1000원, 500원, 100원, 50원, 10원 동전으로 교환하는 프로그램을 작성하시오.
## 전역 변수 선언 부분 ##
money, c50000, c10000, c5000, c1000, c500, c100, c50, c10 = 0,0,0,0,0,0,0,0,0
money = int(input('교환할 돈은 얼마?'))
##메인코드부분##
c50000 = money//50000
money %= 50000
c10000 = money//10000
money %= 10000
c5000 = money//5000
money %= 5000
c1000 = money//1000
money %= 1000
c500 = money//500
money %= 500
c100 = money//100
money %= 100
c50 = money//50
money %= 50
c10 = money//10
money %= 10
print("50000원권 %d장, 10000원권 %d장, 5000원권 %d장, 1000원권 %d장" % (c50000, c10000, c5000, c1000))
print("그리고 동전은 500원 %d개, 100원 %d개, 50원 %d개, 10원 %d개 입니다." % (c500, c100, c50, c10))
print("바꾸지 못한 돈 ==> %d 원" % money)
출력 결과값
10. 115쪽의 [응용예제 02]를 활용해 비트 논리곱을 구현하려고, 숫자를 2개 입력 받아서 각 숫자에 대한 2진수와 비트 논리곱의 결과 2진수를 출력하는 프로그램을 작성하시오. 예로 123과 456을 입력하면 1111011&111001000의 결과 1001000이 다음과 같이 차례로 출력 된다.
import turtle
##전역 변수 부분##
num1, num2, result = 0, 0, 0
swidth, sheight = 1000, 300
curX, curY = 0, 0
##2진수를 거북이로 표현하는 함수부분##
def binary(Bin, num):
curX = swidth / 2
for i in range(len(Bin) - 2): ##원래의 메인부분에서 실제 거북이를 나타내는 부분만, 가져오는 부분##
turtle.goto(curX, curY)
if num & 1:
turtle.color('red') #num값이 1일때 빨간색이 출력되도록 지정
turtle.turtlesize(2) #거북이 사이즈가 2가 되도록 설정
else:
turtle.color('blue') #num값이 1이 아닐때, 즉 0일때 파란색 거북이가 출력
turtle.turtlesize(1) #거북이 사이즈가 1이 되도록 설정
turtle.stamp()
curX -= 50
num >>= 1
#메인 코드 부분##
if __name__ == "__main__":
turtle.title('거북이로 두 숫자 비트 논리곱(&) 연산하기') #제목을 지정해주고
turtle.shape('turtle') #거북이 모양을 지정해주고
turtle.setup(width=swidth + 50, height=sheight + 50) #설정값을 지정 해준다.
turtle.screensize(swidth, sheight)
turtle.penup()
turtle.left(90)
num1 = int(input("숫자1을 입력하세요 : "))
num2 = int(input("숫자2을 입력하세요 : "))
binary1 = bin(num1)
binary2 = bin(num2)
result = num1 & num2
curY = 50
binary(bin(num1), num1)
curY = 0
binary(bin(num2), num2)
curY = -50
binary(bin(result), result)
turtle.done()
출력결과 값
'프로그래밍 > 대학전공서적공부' 카테고리의 다른 글
파이썬 for Beginner 5장 연습문제 정답 (2) | 2022.01.04 |
---|---|
파이썬 for Beginner 3장 연습문제 정답 (0) | 2022.01.04 |
파이썬 for Beginner 2장 연습문제 정답 (0) | 2022.01.04 |
파이썬 for Beginner 1장 연습문제 정답 (0) | 2022.01.04 |