ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬 기초 : 조건문 , 반복문
    🐍 Python 2025. 1. 20. 11:31
    728x90

    1. 기본 구조

    if 문

    조건이 참(True)일 때만 해당 코드 블록을 실행합니다.

    if 조건식:
        실행할 코드
     

    if-else 문

    조건이 참이면 if 블록을, 거짓이면 else 블록을 실행합니다.

    if 조건식:
        실행할 코드
    else:
        실행할 코드
    if-elif-else 문

    여러 조건을 검사할 때 사용하며, 조건 중 하나만 만족하면 해당 블록이 실행됩니다.

    if 조건식1:
        실행할 코드1
    elif 조건식2:
        실행할 코드2
    else:
        실행할 코드3

    2. 조건식

    • 조건식은 True 또는 False로 평가되는 표현식입니다.
    • 비교 연산자, 논리 연산자 등을 사용하여 작성할 수 있습니다.

    비교 연산자

    연산자 의미 예시
    == 같다 x == y
    != 같지 않다 x != y
    > 크다 x > y
    < 작다 x < y
    >= 크거나 같다 x >= y
    <= 작거나 같다 x <= y

     

    논리 연산자

    연산자 의미 예시
    and 모두 참이면 참 x > 0 and x < 10
    or 하나라도 참이면 참 x < 0 or x > 10
    not 반대값 not x > 0 (참 → 거짓)

     


    3. 중첩 조건문

    조건문 안에 또 다른 조건문을 넣어 복잡한 논리를 표현할 수 있습니다.

    if 조건식1:
        if 조건식2:
            실행할 코드
        else:
            실행할 코드
    else:
        실행할 코드

    4. 예시

    간단한 조건문

    x = 10
    
    if x > 5:
        print("x는 5보다 큽니다.")
    else:
        print("x는 5 이하입니다.")

     

    여러 조건 검사

    score = 85
    
    if score >= 90:
        print("A 학점")
    elif score >= 80:
        print("B 학점")
    elif score >= 70:
        print("C 학점")
    else:
        print("F 학점")

     

    중첩 조건문

    x = 15
    
    if x > 10:
        if x % 2 == 0:
            print("x는 10보다 크고 짝수입니다.")
        else:
            print("x는 10보다 크고 홀수입니다.")
    else:
        print("x는 10 이하입니다.")

    파이썬의 조건문은 직관적이며 간결하게 작성할 수 있어서, 복잡한 논리도 쉽게 표현할 수 있습니다.

     

     

     


     

    4. 문제 풀이 

    • 회원가입을 하려 합니다. 유저한테 이메일과 비밀번호를 입력받습니다.
    • 유저한테 이메일을 입력받습니다. 이때 이메일주소 형식(@)이 잘못 되었으면, 다시 입력하세요 를 출력합니다.
    • 이메일 주소가 잘 입력되었으면, 이제 비밀번호를 두번 입력받습니다.
    • 만약 첫번째 입력한 비밀번호와, 두번째 입력한 비밀번호가 다르면, 비밀번호가 일치하지 않습니다 를 출력합니다. 
    • 비밀번호의 길이는 4자리 이상 8자리 이하로만 받습니다.
    • 그렇지 않을 경우는 "비밀번호 길이는 4자리 이상 8자리 이하로 입력하세요" 라고 출력 
    email = input ('email을 입력 하세요')
    e = "@" in email
    if e == False :
        print("이메일 형식이 맞지 않습니다. 다시 작성해 주세요 ")
    else:
        password1 =  input ("Password를 입력 하세요")
        lenth = len(password1)
        if lenth < 4 or lenth < 9:
            print ("password 는 4자리 이상 8자리 이하로 작성해주세요")
            password1 =  input ("Password를 입력 하세요")
        else :
            password2 = input ("Password를 한번 더 입력 하세요 ")
            if password1 != password2:
                print ("비밀번호 확인이 맞지 않습니다")
            else:
                print ('가입이 완료되었습니다')

     


    5. 자바의 조건문과 파이썬의 조건문의 차이점 

     

    자바의 코드 블록

    # 파이썬은 자바의 { } 대신해 들여쓰기 한다.
    # 들여씨기의 단위는 탭 tab 이다.
    #예)
    if (a > 5 ){
        print('a 가 5보다 크다')
    }else{ 
        print(' a 가 5보다 작거나 같다')
    }
    
     a 가 5보다 작거나 같다

     

     

     

    파이썬의 코드블록 

    # 파이썬은 자바의 { } 대신해 들여쓰기 한다.
    # 들여씨기의 단위는 탭 tab 이다.
    #예)
    if a > 5 :
        print('a 가 5보다 크다')
    else : 
        print(' a 가 5보다 작거나 같다')
    
     a 가 5보다 작거나 같다

     


    1. for 반복문

    기본 구조

    for 반복문은 반복 가능한 객체(iterable)를 순회하며 각 요소를 처리합니다.

    for 변수 in 반복가능한객체:
        실행할 코드

     

    예시

    리스트 순회

    my_list =['사과', '바나나',"딸기"]
    my_list
    for fruit in my_list:
        print(fruit)
     

     

    숫자 범위 순회 (range())

    레인지 함수의 사용 용도는, 횟수와 관련해서 사용한다.

    # 0부터 4까지 출력
    for i in range(5):
        print(i)

     

    # 1부터 10까지 출력
    for i in range(1, 11):
        print(i)

     

    실습 문제 : 안녕을 10번 출력 하세요 

      무식한 방법 vs 반복문 

     i 에 숫자가 1개씩  들어가는동안 프린터를 계속 진행 한다.

    # 1부터 10까지 2씩 증가하며 출력
    for i in range(1, 11, 2):
        print(i)


    문자열 순회

    for char in "Python":
        print(char)

     

    sentence = "hello world"
    for a in sentence : 
        print (a)

     


    2. while 반복문

    기본 구조

    while 반복문은 조건이 참인 동안(만족하는 동안)  코드를 반복 실행합니다.

    while 조건:
        실행할 코드

     

    예시

    카운트다운

    count = 5
    
    while count > 0:
        print(count)
        count -= 1

     

     

    사용자가 원하는 값 입력받기

    password = ""
    password 변수 초기화: 처음에 password 변수를 빈 문자열로 초기화합니다.
    # 이 변수는 사용자 입력값을 저장할 용도로 사용됩니다.
    
    while password != "1234":
    # while 루프: 이 루프는 사용자가 올바른 비밀번호("1234")를 입력할 때까지 반복 실행됩니다.
    
        password = input("비밀번호를 입력하세요: ")
    print("로그인 성공!")

    3. 반복문 제어 키워드

    1) break

    반복문을 강제로 종료합니다.

    for i in range(10):
        if i == 5:
            break
        print(i)

    2) continue

    해당 반복의 나머지 코드를 건너뛰고 다음 반복으로 넘어갑니다.

    for i in range(10):
        if i % 2 == 0:
            continue
        print(i)

     

    3) else

    반복문이 정상적으로 종료되면 실행됩니다. break로 중단되면 실행되지 않습니다

    for i in range(5):
        print(i)
    else:
        print("반복문이 정상 종료되었습니다.")

     


    4. 중첩 반복문

    반복문 안에 또 다른 반복문을 넣어 복잡한 구조를 처리할 수 있습니다.

    for i in range(3):
        for j in range(3):
            print(f"i={i}, j={j}")

    인덱스도 같이 알고 싶을 때 

    for i , fruit in enumerate(my_list):   # 인덱스도 함께 알고 싶을때 사용 하는 함수
        print (i, fruit)

     

    딕셔너리

    key 값만 확인 하고 싶은 경우 

    my_dick  ={'삼성':'갤럭시', '엘지':'tv', '삼립':'호빵'}
    for data in my_dick :# 키 값만 다 뽑아 오는 방법 
        print (data)

     

    벨류 값만 확인 하고 싶은 경우 

    for data in my_dick.values() : 
        print(data)

     

     튜플의 형식으로 출력 

     

    List Comprehension

    for 루프를 사용해 간결하고 효율적으로 리스트를 생성합니다.

    코드의 간소화 

    예제

    5. 예제 및 샘플 문제

    예제 1: 구구단 출력

    for i in range(2, 10):
        for j in range(1, 10):
            print(f"{i} x {j} = {i * j}")
        print("-" * 10)

     

    예제 2: 별 찍기

    n = 5
    for i in range(1, n + 1):
        print("*" * i)

     

     


    정답은 댓글로 남겨주세요

    샘플 문제

    문제 1: 1부터 100까지의 합 계산

    for in range()

     

     

     

    문제 2: 특정 숫자 찾기

    사용자가 입력한 숫자가 리스트에 있는지 확인하세요.

     

     


    문제 3: 소수 판별

    사용자가 입력한 숫자가 소수인지 판별하세요.

     


    문제 4: 역삼각형 별 출력

    사용자가 입력한 숫자에 따라 역삼각형 모양으로 별을 출력하세요.

     

     

    728x90
Designed by Tistory.