본문 바로가기

PYTHON/Basic

conditions

조건문

  • if, elif, else

  • indentation(들여쓰기) 사용

  • nesting(반복 중첩) 가능 (비권장)

  • boolean으로 표현

    • 논리식 AND, OR, NOT 사용 가능

      • 우선순위 NOT > AND > OR
    • 예외 : 기본 타입 사용 가능

      • False 간주 값 (각 타입 기본값)

        • None, 0, 0.0, ", (), [], {}, set()
        • 이 외 모두 True

Q. 숫자를 입력받아 아래 조건에 맞게 결과를 출력하세요.

3의 배수이면 fizz
5의 배수이면 buzz
15의 배수이면 fizzbuzz
이 외의 경우 입력받은 숫자

num = int(input("Insert number: "))

if num % 15 ==0 :
    print("fizzbuzz")
elif num % 5 ==0 :
    print("buzz")
elif num % 3 ==0 :
    print("fizz")
else:
    print(num)
if num % 3 ==0 :
    print("fizz", end="")
elif num % 5 ==0 :
    print("buzz")
if not((num % 3 ==0) or (num % 5 ==0)):
    print(num)

삼항연산

  • condition이 True면 A를 리턴, False면 B를 리턴

A if (condition) else B


Q. 숫자를 입력받아 짝수이면 "even", 홀수이면 "odd"를 출력하세요.

num = int(input("Insert number: "))
"even" if num % 2 == 0 else "odd"


예외처리

  • try, except
  • 예외 변수 지정
  • 모든 예외 검출
  • Exception 클래스를 상속
ls = [1, 2, 3]

try:
    # 5/0
    # ls[4]
except Exception as e:
    print(e)

  • finally : try-except 구문 완료 후 실행
  • raise : 에러를 발생시키는 예약어로 코드 실행이 중단됨

Q. 숫자 입력시 출력, 그 외 에러 발생

while True:

    try:
        num = int(input("insert number:"))
        break
    except:
        print("숫자를 입력")

print(num)


Q. 이자율

이자율 입력시 1.03미만 또는 1.10 초과일 경우 메세지와 에러발생
__str__ : 오류 메세지를 print문으로 출력할 때 호출되는 메서드


class LowInter(Exception):

    def __str__(self):
        return "이자율을 1.03이상으로 설정"



class HighInter(Exception):

    def __str__(self):
        return "이자율을 1.10이하로 설정"



class Account:

    def __init__(self, interest):
        if interest < 1.03:
            raise LowInter()
        elif interest > 1.10:
            raise HighInter()
        else:
            self.interest = interest

    def disp(self):
        interest = round((self.interest - 1)*100, 1)
        return "계좌 설정 이자율은 {}%".format(interest)

'PYTHON > Basic' 카테고리의 다른 글

function  (0) 2019.12.28
loops  (0) 2019.12.28
operators  (0) 2019.12.28
datatype  (0) 2019.12.28
Python Basic Syntax  (0) 2019.12.28