디필의 요모조모

파이썬 for Beginner 6장 연습문제 본문

Programming Language/Python

파이썬 for Beginner 6장 연습문제

Diphylleia12 2019. 12. 7. 23:45

1. for 문의 기본 형식을 참고해 빈칸을 채우시오.
    시작값, 증가값, 끝값, 끝값+1

    for 변수 in range(시작값, 끝값+1, 증가값):
        이 부분을 반복

2. 다음 코드에서는 몇 번 출력되는지 예측하시오.
    for i in range(1,100,1):
        print("파이썬 완전 꿀잼이에요~~. ^^")

    99번

3. 100부터 200까지 2의 배수만 더하는 프로그램이다. 빈칸을 채우시오.
    i, hap = 0, 0

    for i in range(100,201,2):
        hap = hap + i

    print("100부터 200까지 2의 배수 합계 : %d" % hap)

4. 다음 코드에서는 몇 번 출력되는지 예측하시오.
    for i in range(1,10):
        for k in range(1,10):
            print("파이썬 정말 꿀잼이에요~~. ^^")

    81번

5. 구구단의 단을 입력하면 단을 다음과 같이 거꾸로 출력하는 프로그램을 작성하시오.

i, dan = 0, 0

dan = int(input("단을 입력하세요 : "))

for i in range(9, 0, -1) :
     print("%d  X  %d  =  %2d" % (dan, i, dan * i))

6. for 문으로 0과 100 사이에 있는 짝수의 합계를 구하는 프로그램이다. 이 프로그램을 while 문으로 수정하시오.

i, hap = 0, 0

while i < 101:
    hap += i
    i += 2

print("0과 100 사이에 있는 짝수의 합계 : %d" % hap)

7. 1과 1000 사이에 있는 홀수의 합계 중에서 최초로 합계가 1000이 넘어가는 숫자를 구하는 프로그램을 작성하시오.

hap, i = 0,0

for i in range(1,1001,2) :
     hap += i

     if hap >= 1000 :
          break
	
print("1과 1000 사이에 있는 홀수의 합계를 최초로 1000이 넘게 하는 숫자 : %d" % i)

8. 172쪽의 [응용예제 01]을 수정해 입력한 숫자의 두 배만큼 별을 출력하도록 프로그램을 작성하시오. 예를 들어 5914를 입력하면 다음과 같이 출력된다.

i, k, starNum = 0, 0, 0
numStr, ch, starStr = "", "", ""

if __name__ == "__main__" :
     numStr = input("숫자를 여러 개 입력하세요 : ")
     print("")
     i = 0
     ch = numStr[i]
     while True :
          starNum = int(ch)

          starStr = ""
          for k in range (0, starNum) :
               starStr += "\u2605"
               k += 1
			
          print(starStr * 2)

          i += 1
          if (i > len(numStr) - 1) :
               break

          ch = numStr[i]

9. (심화문제) 거북이가 화면 가운데에서 출발해 선 80개를 소라 모양으로 그리도록 프로그램을 작성하시오. 선의 색상은 무작위로 선택한다.

import turtle
import random

swidth, sheight = 500,500
pSize = 5
r, g, b = [0] * 3
angle, dist = 30, 5

turtle.title("거북 소라 그리기")
turtle.shape('turtle')
turtle.pensize(pSize)
turtle.setup(width = swidth + 50, height = sheight + 50)
turtle.screensize(swidth, sheight)

for i in range(80):
    r = random.random()
    g = random.random()
    b = random.random()
    turtle.pencolor((r,g,b))

    dist += 1
    turtle.forward(dist)
    turtle.left(angle)

turtle.done()

9번 코드 실행 결과

Comments