본문 바로가기
우당탕탕 학교생활/_방송통신대학교

방송통신대학교 프라임칼리지 파이썬(Python) 여덟번째 시간 리뷰

by J-2n 2020. 8. 17.

방통대 프라임칼리지 파이썬 과정 여덟번째 강의 입니다. 드디어..

오늘의 벼락치기는 여덟번째 강의가 끝입니다. 흑흑..

하지만 이번주까지 과제 제출을 해야하니 아직 할일이 남았네요.

마지막까지 화이팅 해보자 마음 다짐을 합니다.ㅎ


while 문 형식

구문형식

while 루프-계속-조건 :

명령문(들)


- 파이썬은 재미있습니다! * 100 번 반복

count = 0

while count < 100 :

print("파이썬은 재미있습니다!")

count = count + 1



뺄셈 퀴즈 프로그램 개선

개선 전 소스 코드

import random

number1 = random.randint(0,9)

number2 = random.randint(0,9)


if number1 < number2 :

    number1, number2 = number2, number1


answer = eval(input(str(number1) + " - " + str(number2) + \

                    "은/는 얼마입니까 ? "))


if number1 - number2 == answer :

    print("정답입니다.")

else :

    print("틀렸습니다.", number1 , "-", number2, \

          "은/는", number1 - number2, "입니다.")


- 틀리면 반복되는 프로그램으로 개선

소스 코드

import random

number1 = random.randint(0,9)

number2 = random.randint(0,9)


if number1 < number2 :

    number1, number2 = number2, number1


answer = eval(input(str(number1) + " - " + str(number2) + \

                    "은/는 얼마입니까 ? "))


while number1 - number2 != answer :

    answer = eval(input(str(number1) + " - " + str(number2) + \

                        "은/는 얼마입니까 ? "))


print("정답입니다.")


루프 설계 전략

1. 반복되어야 하는 명령문을 파악한다.

2. 반복되어야 하는 명령문을 다음과 같이 루프로 작성한다.

while True :

명령문(들)

3. 루프 - 계속 - 조건을 작성하고 루프를 제어하기 위해 적절한 명령문을 추가한다.

while 루프 - 계속 - 조건 :

명령문(들)

루프 제어 명령문


1부터 n까지의 합

소스 코드

#사용자 입력

n = eval(input("정수를 입력하세요 : "))


sum = 0

i = 1


while i <= n :

    sum = sum + i

    i = i + 1


print(str(n) + "까지의 합은", sum , "입니다.")


사용자 확인

사용자의 입력을 통해 루프의 계속 여부를 결정하는 구조

continueLoop = 'Y'

while continueLoop == 'Y' : 

# 루프 몸체를 한번 실행한다.

...

# 사용자로부터 계속할지 확인을 받는다.

continueLoop = input("계속하시겠습니까 ? (Y/N)


감시값

루프를 제어하도록 약속된 입력값

data = eval(input("정수를 입력하세요 (0이면 종료됩니다.) : "))

sum = 0

while data != 0 :

sum += data

data = eval(input("정수를 입력하세요 (0이면 종료됩니다.) : "))


print ("합계는", sum, "입니다.)


입력 재지정

프로그램에 대한 입력을 키보드 입력이 아닌 파일로부터 입력 받는 기법


출력 재지정

프로그램의 실행 결과를 모니터(터미널)이 아닌 파일로 내보내는 기법


숫자 맞히기 게임

0부터 100사이의 숫자를 알아 맞히는 게임을 작성하시오.

소스 코드

import random

number = random.randint(0, 100)


print("0 과 100 사이의 미지의 숫자를 맞혀보세요 : ")


guess = -1


while guess != number :

    guess = eval(input("얼마일까요? :"))

    if guess == number :

        print("맞습니다. 미지의 숫자는 ",  number, "입니다.")

    elif guess > number :

        print("입력한 값이 너무 큽니다.")

    else :

        print("입력한 값이 너무 작습니다.")


뺄셈 문제 반복

사용자가 입력한 개수만큼 뺄셈문제를 풀고 정답의 개수와 수행시간을 출력하는 프로그램을 작성하시오.

소스 코드

import random

import time


cuCount = 0

count = 0


numberQ = eval(input("문제의 개수를 결정하세요 : "))


startTime = time.time()


while count < numberQ :

    number1 = random.randint(1, 15)

    number2 = random.randint(1, 15)


    if number1 < number2 :

        number1, number2 = number2, number1


    answer = eval(input(str(number1)+" - " + str(number2) + "은/는 얼마입니까? "))


    if number1 - number2 == answer :

        print("맞았습니다.")

        cuCount += 1

    else :

        print("틀렸습니다.", number1, " - ", number2, "은/는", number1 - number2, "입니다.")

    count += 1


endTime = time.time()

testTime = int(endTime - startTime)

print("정답의 개수는", numberQ, "개 중", cuCount, "개 입니다. ",\

      "\n 수행시간은", testTime, "초 입니다.\n")



정리하기 (출처 : 한국방송통신대학교 프라임칼리지)

1. 반복문에는 두 종류, while 루프와 for 루프가 있다.

2. 반복되어야 하는 명령문을 포함하는 루프 부분을 루프 몸체라고 한다.

3. 루프 몸체의 1회 실행을 루프의 반복이라고 한다.

4. 무한 루프란 무한히 실행되는 루프 명령문이다.

5. 루프 설계 과정에서 루프 제어 구조와 루프 몸체를 고려해야 한다.

6. while 루프는 루프 - 계속 - 조건 을 우선 검사한다. 조건이 참이면, 루프 몸체가 실행되고 그렇지 않을 경우 루프가 종료된다.

7. 감시값은 입력의 끝을 지정하는 특별값이다.


100%를 향해