2일차 - python 조건문과 반복문

    python 조건문

    if 문의 종류

    if문의 세 가지

     

    """
    if문의 동작 원리
    """
    
    x = int(input("정수를 입력하세요: "))
    
    if x > 0:
        print("입력된 수는 양수입니다.")
        print("입력된 수는 양수입니다.")
        
     # 출력: 입력된 수는 양수입니다.
     #       입력된 수는 양수입니다.

     

     

     

    비교 연산자와 논리 연산자

    python의 연산자

    a = 10
    b = 20
    
    a == b
    # 출력: False
    
    a != b 
    # 출력: True
    
    a > b 
    # 출력: False

     

     

     

    + 논리 연산자

    논리 연산자

    """
    (조건1) score1이 80보다 크면서 (조건2) score2가 80보다 클 때 - and
    """
    
    score1 = 75
    score2 = 90
    score1 >= 80 and score2 >= 80
    # 출력: False
    
    score1 = 85
    score2 = 95
    score1 >= 80 and score2 >= 80
    # 출력: True
    """
    not 조건
    """
    
    x = 25
    
    x % 2
    # 출력: 1
    
    x % 2 == 0
    # 출력: False
    
    not x % 2 == 0
    # 출력: True

    not 조건은 값을 반대로 출력시킨다.

     

    x % 2 == 0 은 False지만

    not 조건을 주면 x % 2 == 0 은 True이다.


    연산자 사용 프로그램

    """
    나이를 입력 받아 경로우대(65세 이상)인 경우 공원 입장료를 무료로 하는 프로그램
    """
    
    age = int(input("나이는?"))
    
    free_age = 65
    ticket = 2000
    
    if age >= free_age :
        ticket = 0
    
    print("나이: %d세" % age)
    print("입장료: %d원" % ticket)
    
    # 출력: 나이는? 65
    #	나이: 65세
    #	입장료: 0원
    """
    정수를 입력받아 양의 정수가 3의 배수인지 4의 배수인지 판별하는 프로그램
    """
    
    num = int(input("양의 정수를 입력하세요."))
    result = "3의 배수도 4의 배수도 아니다."
    
    if num % 3 == 0:
        result = "3의 배수이다."
    if num % 4 == 0:
        result = "4의 배수이다."
    if num % 3 == 0 and num % 4 == 0:
        result = "3의 배수이면서 4의 배수이다."
    
    print("%d은(는) %s" % (num, result))
    
    # 출력: 양의 정수를 입력하세요.12
    #	12은(는) 3의 배수이면서 4의 배수이다.
    """
    월을 입력 받아 계절을 판별하는 프로그램
    """
    
    month = int(input("월을 숫자로 입력하세요: "))
    
    if month == 3 or month == 4 or month == 5:
        print("%d는 봄입니다." % month)
    
    if month == 6 or month == 7 or month == 8:
        print("%d는 여름입니다." % month)
    
    if month == 9 or month == 10 or month == 11:
        print("%d는 겨울입니다." % month)
    
    if month == 12 or month == 1 or month == 2:
        print("%d는 겨울입니다." % month)

     

     

    if ~ else 프로그램

    """
    필기, 실기 점수를 입력받아 자격증 시험의 합격과 불합격을 판정하는 프로그램
    합격 조건: 필기 08점 실기 80점
    단, if-else 구문 사용
    """
    
    pilgi = int(input("필기시험 점수는?"))
    silgi = int(input("실기시험 점수는?"))
    
    if pilgi >= 80 and silgi >= 80 :
        result = "합격"
    else:
        result = "불합격"
    
    print(" - 필기시험 점수: %d" % pilgi)
    print(" - 실기시험 점수: %d" % silgi)
    print(" - 판정: %s" % result)

     

     

    if ~ elif ~ else 프로그램

    """
    점수를 입력받아 등급(점수에 해당되는 학점 A, B, C, D, F) 판정하는 프로그램
    """
    
    score = int(input("점수는? "))
    
    if score >= 90:
        grade = "A"
    elif score >= 80:
        grade = "B"
    elif score >= 70:
        grade = "C"
    elif score >= 60:
        grade = "D"
    else:
        grade = "F"
    
    print("등급: %s"% grade)

    python 반복문

    반복문은 한 작업을 여러번 반복하고 싶을 때 사용!

    # 인사 5번 출력하기
    print("안녕하세요!")
    print("안녕하세요!")
    print("안녕하세요!")
    print("안녕하세요!")
    print("안녕하세요!")
    print()

    안녕하세요를 5번 출력하고 싶을 때 하나씩 출력을 하게 되면 시간이 오래 걸리고 가독성이 떨어짐.

    파이썬에는 for문을 통해 반복하고 싶은 내용을 처리 가능!

     

     

     

    반복문 for문

    # 인사 5번 출력하기 -> 반복문을 사용
    for x in range(5):
        print("안녕하세요!")
    """
    1~10 정수의 합계
    """
    sum = 0
    
    for x in range(1, 11):
        sum = sum + x
    
    print("1~10까지 정수의 합계는: %d" % sum)

    range() 함수는 0부터 시작함.

    1부터 시작하고 싶다면 range() 함수에 시작할 수를 같이 적어두기!

     

     

     

    """
    range() 함수
    """
    
    # 0~9 -> 10번 출력 -> 시작 위치를 생략 가능
    for i in range(10):
        print(i, end=" ")
    
    print()
    # end는 출력할 때 줄바꿈을 없애준다.
    
    # 1~10 -> 10번 출력 -> 시작을 1부터 시작하려면 꼭 시작위치 명시
    for i in range(1, 11): # range(1, 11, 1)
        print(i, end= " ")
    
    print()
    
    #1~10 2씩 증가해서 출력 1, 3, 5, 7, 9
    for i in range(1, 11, 2): # 시작, 종료, 증가수
        print(i, end = " ")
    
    print()
    
    # 20에서 1까지 -2씩 감소
    for i in range(1, 11, -1):
        print(i, end = " ")

     

    range( start, stop, step )

     

     

     

    * 문자열 for문 출력

    """
    영어 문장을 세로로 한 자씩 출력하기
    """
    
    word = input("영어 문장을 입력하세요: ")
    
    for x in word:
        print(x)

    파이썬은 특정 문자열도 for문으로 문자 하나씩 출력할 수 있음!

     

     

    """
    전화번호에서 하이픈(-) 삭제하기
    """
    
    phone = input("하이픈(-)을 포함한 휴대폰 번호를 입력하세요: ")
    
    for x in phone:
        if x != "-":
            print("%s" % x, end = "")

     

     

    반복문 while

    특정 조건이 만족할 때까지 반복!

    for문은 범위를 지정하지만 범위를 지정하지 않고 무한으로 반복하기 위해서는 while!

     

    """
    1~10 합계 구하기
    """
    
    sum = 0
    i = 1
    
    while i <= 10:
        sum = sum + i
        print("i의 값 : %d => 합계: %d" % (i, sum))
    
        i = i + 1 # while문 탈출 코드

     

     

     

    + break문

    while문 중 특정 조건일 때 while문을 벗어날 수 있는 방법!

    """
    500 ~ 600까지 정수의 5의 배수의 합계를 구하는 프로그램
    """
    
    sum = 0
    i = 500
    
    while i <= 600:
        if i % 5 == 0:
            sum = sum + i
    
        if i == 555:
            break
    
        i = i + 1
    
    print("5의 배수 합계: %d" % sum)

    break문을 사용하면 해당 조건일 때 while문을 벗어남.

    ex) i가 555일 때 while문을 탈출함.

     

    """
    일단 시작하고 반복문 안에서 조건이 만족하면 벗어나기
    """
    
    sum = 0
    i = 0
    
    while True :
        if i % 5 == 0:
            sum = sum + i
    
        if i == 555:
            break
    
        i = i + 1
    
    print("5의 배수 합계: %d" % sum)

    C에서는 do ~ while문 / 파이썬은 while True: 로 해결!

     


    무한반복을 활용한 성적 프로그램

    """
    성적을 입력받아 등급을 판정하는 프로그램
    (수: 90점 이상, 우: 80점 이상, 미: 70점 이상, 양: 60점 이상, 가: 60점 미만)
    
    조건: 'q'를 입력하면 프로그램이 종료됨.
    """
    
    while True:
        score = int(input("성적을 입력하세요 : "))
    
        if score >= 90:
            result = "수"
        elif score >= 80:
            result = "우"
        elif score >= 70:
            result = "미"
        elif score >= 60:
            result = "양"
        else:
            result = "가"
    
        print("등급: %s" % result)
        exit = input("계속하시겠습니까? (중단: q, 계속: y)")
    
        if exit == "q":
            print("프로그램을 종료합니다.")
            break

    무한반복을 사용하게 되면 break문 조건이 나오기 전까지는 무한반복!

    break문을 꼭 넣어주어야 함.

    댓글