파이썬 for beginner 3판 2장 연습문제 - paisseon for beginner 3pan 2jang yeonseubmunje

디필의 요모조모

1. 다음 중 파이썬 문법이 틀린 것을 모두 고르시오.
    ① a = 1000
    ② b = 500.0
    ③ a = 
    ④ 10 = a

2. print() 함수의 결과를 예측하시오.
    ① print("하하하")                  하하하
    ② print(200+100)                 300
    ③ print("200+100")               200+100
    ④ print(int("200")+100)          300

3. 다음 중 틀린 설명을 모두 고르시오.
    ① 대화형 모드에서 사용한 변수는 IDLE을 종료했다가 다시 실행해도 남아 있다.
    ② 변수는 기본적으로 메모리라는 공간에 저장된다.
    ③ *.py로 저장한 파이썬 코드는 다음에 재사용할 수 있다.
    ④ 스크립트 모드에서 코드를 한 줄씩 입력하면 바로 실행된다.

4. 다음 코드를 실행한 후 111과 222를 입력한다면 어떤 내용이 출력될지 설명하시오.

var1 = input()
var2 = input()
result = var1 + var2
print(var1,"+",var2,"=",result)

    111+222=111222

5. 코드를 실행한 후 111과 222를 입력하면 오류가 발생한다. 오류가 발생하는 이유를 간단히 설명하시오.

var1 = input()
var2 = input()
result = var1 * var2
print(var1,"*",var2,"=",result)

    input() 함수는 문자열을 입력받는 함수이므로, 문자열 끼리의 곱셈은 하지 못한다.

6. 5번 문제에서 코드가 오류 없이 실행되려면 셋째 줄을 어떻게 바꾸어야 할지 설명하시오.
    result = var1 + var2 처럼 덧셈으로 바꾸어주거나, result = var1 * int(var2)로 고쳐 var1 문자열만 곱해준다.

7. 정수 2개를 입력받아서 더하기, 곱하기, 제곱 연산을 하는 프로그램을 작성하시오.

var1 = int(input("숫자1 입력:"))
var2 = int(input("숫자2 입력:"))

print(var1,"+",var2,"=",var1+var2)
print(var1,"*",var2,"=",var1*var2)
print(var1,"^",var2,"=",pow(var1,var2))


8. (심화문제) 화면에서 마우스 왼쪽 버튼을 누르면 클릭한 위치에 다양한 색상, 크기, 각도의 거북이 모양 도장이 찍히는 프로그램을 만드시오.

import turtle
import random

def ScreenLeftClick(x,y):
    global r,g,b
    tSize = random.randrange(1, 10)
    turtle.shapesize(tSize)
    tAngle = random.randrange(0,360)
    turtle.left(tAngle)
    turtle.color((r,g,b))
    turtle.penup()
    turtle.goto(x,y)
    turtle.stamp()

    r = random.random()
    g = random.random()
    b = random.random()

pSize = 10
r, g, b = 0.0, 0.0, 0.0

turtle.title('거북이 도장 찍기')
turtle.shape('turtle')

turtle.onscreenclick(ScreenLeftClick, 1)

turtle.done()
파이썬 for beginner 3판 2장 연습문제 - paisseon for beginner 3pan 2jang yeonseubmunje
8번 코드 실행 결과

1.  다음 중 파이썬 문법이 틀린 것을 모두 고르시오.

정답 : ③a=

        ④10=a

2. print() 함수의 결과를 예측하시오.

정답 : ①print("하하하")

        ②print(200+100)

        ③print("200+100")

        ④print("200")+100

3. 다음 중 틀린 설명을 모두 고르시오.

정답 : ①대화형 모드에서 사용한 변수는 IDLE 을 종료했다가 다시 실행해도 남아 있다. → 종료하면 초기화됨

        ④스크립트 모드에서 코드를 한 줄씩 입력하면 바로 실행된다. shell에서만 가능

4. 다음 코드를 실행한 후 111과 222를 입력한다면 어떤 내용이 출력될지 설명하시오.

보기 :var1=input()

       var2=input()

       result=var1+var2

       print(var1,"+",var2,"=",result)

정답 : 111+222=111222

5.코드를 실행한 후 111과 222를 입력하면 오류가 발생한다. 오류가 발생하는 이유를 간단히 설명하시오.

보기 : var1=input()

        var2=input()

        result=var1*var2

        print(var1,"*",var2,"=",result)

정답 : 위 결과 실행시 111*222는 111222로 나온다. 왜냐하면 var1과 var2가 input함수로 받을 때 정수형이 아닌 문자          로 인식하기 때문이다. 즉 값을 정수 표현시 var1=int(input()), var2=int(input())으로 바꾸어 주어야 한다.

6. 5에서  코드가 오류 없이 실행되려면 셋째줄을 어떻게 바꾸어야 할지 설명하시오. 문제오류(첫째줄,둘째줄 바꾸기)

정답 : var1=int(input()), var2=int(input())

7. 정수 2개를 입력받아서 더하기, 곱하기, 제곱 연산을 하는 프로그램을 설명하시오.

파이썬 for beginner 3판 2장 연습문제 - paisseon for beginner 3pan 2jang yeonseubmunje

8. 심화문제  / 화면에서 마우쓰 왼쪽 버트을 누르면 크릵한 위치에 다양한 색상, 크기 , 각도의 거북이 모양 도장이 찍히는 프로그램을 만드시오.

import turtle

 
import random
 
 
## 함수 선언 부분
 
 
##도장 찍는 함수
 
def stamp(x, y):
 
    global r, g, b
 
    r = random.random()
 
    g = random.random()
 
    b = random.random()
 
    tSize = random.randrange(1,10)
 
    tAngle = random.randrange(0,361)
 
 
#랜덤하게 크기, 색상, 각도 변경
 
    turtle.shapesize(tSize)
 
    turtle.color(r, g, b)
 
    turtle.right(tAngle)
 
 
    turtle.stamp()
 
 
#거북이 이동 함수
 
def screenRightClick(x, y):
 
    turtle.penup()
 
    turtle.goto(x, y)
 
 
## 변수 선언 부분
 
r, g, b = 0.0, 0.0, 0.0
 
 
## 메인 코드 부분
 
turtle.title("거북이 도장 찍기")
 
turtle.shape("turtle")
 
 
turtle.onscreenclick(stamp, 1)
 
turtle.onscreenclick(screenRightClick,3)
 
 
turtle.done()
파이썬 for beginner 3판 2장 연습문제 - paisseon for beginner 3pan 2jang yeonseubmunje