ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백준04
    개발/Python 2023. 1. 31. 00:09

     

    https://www.acmicpc.net/

     

    11021번

    t = int(input())
    for x in range(1, t+1):
        a, b = map(int, input().split())
        print(f'Case #{x}: {a+b}')

    1. 1부터 a만큼 테스트 케이스가 출력되야 한다 - range(1, a+1)을 추가했다

    2.  f-string을 이용해 따옴표 안에 { } 괄호 안에 변수나 변수를 연산한 값을 입력할 수 있다. { } 안의 수는 그때그때의 변수의 값이 출력될 수 있다.

    3. 실행 시 실행순서{x}값과  {a+b}값이 출력된다

     

    2439번

    a = int(input())
    for x in range(1, a+1):				
        print(" " * (a-x) + "*" * x)

    1. 빈칸을 a설정 값에서 x를(1 ~ a) 빼준다

    2. a값이 3일경우 print(" "  * ( 3 - (1, 2, 3) ) + " * " * (1 ~ 1, 2, 3)) 해주는 것이다

    3. 공백은 2, 1, 0 이 되고 *모양은 1, 2, 3개가 된다

     

    10952번

    while True:
        a, b = map(int, input().split())
        if a == 0 and b == 0:
            break
        print(a+b)

    1. while문에 True(1)을 넣어 무한루프를 가동시킨다

    2. if문을 이용해 input값이 0, 0이 나올 경우 while문을 해제 시킨다

    3. 그전까지는 계속 a+b값이 출력된다

     

    10951번

    while 1:
        try:
            a, b = map(int, input().split())
        except:
            break
        print(a+b)

    1. while반복문을 사용하여 무한루프 가동시킨다

    2. 수가 입력되지 않아서 에러가 발생하면 반복문을 끝낼 수 있도록 try - except 구문을 활용해서 문제를 풀었다

    3. try 구문에는 에러가 발생할 여지가 있는 문장을 작성하고 except 구문에는 에러가 발생 시 실행시킬 문장을 작성한다.

    4. 에러 발생시 break로 빠져나가도록 했다.

    5. 에러가 발생하지 않는 경우 except 구문을 지나쳐서 이후의 print(a+b) 코드가 실행된다

     

     

    try, except문

    try 블록 수행 중 오류가 발생하면 except 블록이 수행된다. 하지만 try 블록에서 오류가 발생하지 않는다면 except 블록은 수행되지 않는다.

    try, except만 쓰는 방법

    try:
        ...
    except:
        ...
    # 이 경우는 오류 종류에 상관없이 오류가 발생하면 except 블록을 수행한다.

     

    발생 오류만 포함한 except문

    try:
        ...
    except 발생오류:
        ...
    # 오류가 발생했을 때 except문에 미리 정해 놓은 오류와 
    # 동일한 오류일 경우에만 except 블록을 수행한다는 뜻이다.
    
    except 발생오류 as 오류변수:
        ...
    # 오류의 내용까지 알고 싶을 때 사용하는 방법이다

     

    이 방법의 예를 들어 보면 다음과 같다.

    try:
        4 / 0
    except ZeroDivisionError as e:
        print(e)
    
    # 출력 값 division by zero

    위처럼 4를 0으로 나누려고 하면 ZeroDivisionError가 발생하여 except 블록이 실행되고 오류변수 e에 담기는 오류 메시지를 출력할 수 있다. 출력한 오류메시지는 다음과 같다.

     

    try문 -else절

    try문에는 다음처럼 else절을 사용할 수 있다.

    try:
        ...
    except [발생오류 [as 오류변수]]:
        ...
    else:  # 오류가 없을 경우에만 수행된다.
        ...
    

    try문 수행중 오류가 발생하면 except절이 수행되고 오류가 없으면 else절이 수행된다.

    다음은 try문에 else절을 사용한 간단한 예제이다.

    try:
        age=int(input('나이를 입력하세요: '))
    except:
        print('입력이 정확하지 않습니다.')
    else:
        if age <= 18:
            print('미성년자는 출입금지입니다.')
        else:
            print('환영합니다.')
    

    만약 '나이를 입력하세요:' 라는 질문에 숫자가 아닌 다른 값을 입력하면 오류가 발생하여 '입력이 정확하지 않습니다.'라는 문장을 출력한다. 오류가 없을 경우에만 else절이 수행된다.

     

    https://wikidocs.net/30

     

    05-4 예외 처리

    프로그램을 만들다 보면 수없이 많은 오류를 만나게 된다. 물론 오류가 발생하는 이유는 프로그램이 잘못 동작하는 것을 막기 위한 파이썬의 배려이다. 이번 장에서는 파이썬에서 오류를…

    wikidocs.net

     

    '개발 > Python' 카테고리의 다른 글

    백준06  (0) 2023.02.06
    백준05  (0) 2023.02.01
    백준03  (0) 2023.01.29
    백준02  (0) 2023.01.29
    백준01  (0) 2023.01.27
Designed by Tistory.