파이썬기초프로그래밍 5주차

2026. 4. 3. 23:48카테고리 없음

파이썬 프로그래밍 5주차 수업에서는 프로그램의 흐름을 결정하는 제어 구조와 그중에서도 핵심인 **선택 구조(조건문)**에 대해 학습했다.

1. 프로그램의 3가지 기본 제어 구조

파이썬에서 프로그램의 흐름을 제어하는 방식은 크게 세 가지로 나뉜다.

 * 순차 구조 (Sequence): 명령들이 작성된 순서대로 위에서 아래로 실행되는 가장 기본적인 구조이다.

 * 선택 구조 (Selection): 조건에 따라 실행할 명령을 선택하는 구조로, if-else 문을 사용한다.

 * 반복 구조 (Iteration): 동일한 명령이 특정 조건까지 반복되면서 실행되는 구조이다.

2. 조건문의 핵심 문법과 규칙

조건문을 작성할 때는 파이썬만의 고유한 문법 규칙을 준수해야 한다.

 * 콜론(:)의 사용: if, elif, else 문장의 끝에는 반드시 콜론을 붙여야 하며, 이는 문장이 아직 끝나지 않았음을 의미하는 핵심 문법이다.

 * 들여쓰기 (Indentation): 파이썬은 들여쓰기로 실행 블록을 구분한다. 들여쓰기 레벨이 정확히 맞아야만 조건문이 정상적으로 작동한다.

 * 한 줄 쓰기: 실행문이 하나일 경우에는 들여쓰기 없이 한 줄로 작성할 수 있다.

 * 다중 조건 (elif): else뿐 아니라 여러 갈래의 조건을 설정할 때는 elif를 사용하여 다중 조건문을 구성한다.

3. 논리 연산자 (Logical Operators)

복잡한 조건을 하나로 묶거나 결과를 반전시키기 위해 논리 연산자를 사용한다.

 * and: 앞뒤 조건이 모두 참일 때만 결과가 참이 된다.

 * or: 두 조건 중 하나만 참이어도 결과가 참이 된다.

 * not: 조건의 결과를 뒤집는다. 참이면 거짓으로, 거짓이면 참으로 바꾼다.

4. 실전 코드 실습

4.1. 로그인 프로그램 구현 (중첩 조건문)

사용자로부터 아이디와 패스워드를 입력받아 저장된 정보와 일치하는지 검증하는 프로그램을 작성했다.

구현 과정:

 * 변수 설정: 프로그램 내에 미리 아이디(id)와 비밀번호(pw) 정보를 저장한다.

 * 아이디 입력: 사용자에게 아이디 입력을 요청받는다.

 * 아이디 검증: 입력받은 값이 저장된 아이디와 일치하는지 확인한다.

 * 패스워드 입력 (중첩 구조): 아이디가 일치할 경우에만 패스워드 입력을 요청받는 하위 조건문을 실행한다.

 * 최종 결과: 비밀번호까지 일치하면 "로그인 되었습니다"를 출력하고, 일치하지 않으면 각각의 단계에 맞는 오류 메시지를 출력한다.

id = 'ilove'

pw = '1234'

 

myid = input('id를 입력하십시오: ')

 

if id == myid:

    print('id를 찾았습니다.')

    mypw = input('pw를 입력하십시오: ')

    if pw == mypw:

        print('로그인 되었습니다.')

    else:

        print('pw를 잘못 입력하셨습니다.')

else:

    print('아이디를 찾을 수 없습니다.')

 

4.2. 세 정수 중 가장 큰 수 구하기

세 개의 정수를 입력받아 비교 로직을 통해 최대값을 추출했다. result 변수에 첫 번째 값을 먼저 할당한 뒤, 나머지 변수들과 순차적으로 비교하여 더 큰 값을 result에 갱신하는 방식을 사용했다.

a = int(input('첫번째 정수: '))

b = int(input('두번째 정수: '))

c = int(input('세번째 정수: '))

 

result = a

if result < b:

    result = b

if result < c:

    result = c

 

print(f'가장 큰 정수는 {result}입니다.')

 

4.3. Up/Down 게임

random.randrange를 사용하여 난수를 생성하고 이를 맞추는 실습을 진행했다. while (True) 구문을 통해 무한 루프를 생성하고, 사용자가 정답을 맞혔을 때만 break를 사용하여 프로그램을 종료하도록 설계했다.

import random

 

number = random.randrange(1, 10)

 

while (True):

    mynumber = int(input('숫자를 추측하세요: '))

    if number == mynumber:

        print('정답입니다.')

        break

    elif number < mynumber:

        print('DOWN!!!!')

    else:

        print('UP!!!!')