12.Python条件文(if、else、elif)


if条件文デフォルト


  • 조건식 :コードとコードを区別する

  • コードは同じインデント深さを持つべきです.

  • passでコードを省略(TODOコメント)
  • # 조건문을 그냥 넘어가기 -> 아무것도 적지 않으면 에러가 난다.
    
    >>> x = 10
    >>> if x == 10:
    ...     pass      # TODO: x가 10일 때 처리가 필요함
    ...
    >>>
    
    
  • ネストif条件文
  • # 코드가 어디에 속해있는지 들여쓰기로 표현한다.
    
    x = 15
     
    if x >= 10:
         print('10 이상입니다.')
     
         if x == 15:
             print('15입니다.')
     
         if x == 20:
             print('20입니다.')
             
             
  • if条件文入力値
  • x = int(input())          # 입력받은 값을 변수에 저장
     
    if x == 10:               # x가 10이면
        print('10입니다.')    # '10입니다.'를 출력
     
    if x == 20:               # x가 20이면
        print('20입니다.')    # '20입니다.'를 출력
        
        

    EX)簡単な割引クーポンシステムの作成

    # 가격(정수)와 쿠폰 이름을 입력 받는다.
    
    p = int(input())
    c = input()
    
    # 입력 27000
    # 입력 Cash3000
    
    if c == 'Cash3000':
        p -= 3000
    
    if c == 'Cash5000':
        p -= 5000
    
    print(p)
    
    # 결과 24000

    elseを使用して2つの方向に分割

  • else単独では使用できません.
  • else|以降も:(콜론)でコードを区別します.
  • 条件式

    변수 = 값 if 조건문 else 값
    # 조건에 따라 y에 값을 할당하는 방법
    
    >>> x = 5
    >>> if x == 10:
    ...     y = x
    ... else:
    ...     y = 0
    ...
    >>> y
    0
    
    # 축약해서 표현하기
    # 변수 = 값 if 조건문 else 값
    
    >>> x = 5
    >>> y = x if x == 10 else 0
    >>> y
    0
    
    # 람다 표현식에서 자주 사용한다.

    False

  • None(何もないことを示す)
  • False(偽)
  • 0の数字:0、0.0、0 j
  • 空の文字列、リスト、チュートリアル、ディックバーコード、セット'' , "" , [] , () , {} , set()
  • クラスインスタンスの__bool__()__len__()メソッドが0またはFalseを返す場合
  • その他の価格はTrueです.
  • not 0not Noneおよびnot ''Trueになります.
  • コンテンツを含む文字列、リスト、チュートリアル、バイナリ、パッケージ
  • 条件式での論理演算子の使用

  • and , or
  • # 두가지 조건을 모두 만족해야할때
    
    x = 10
    y = 20
     
    if x == 10 and y == 20:     # x가 10이면서 y가 20일 때
        print('참')
    else:
        print('거짓')
    
    # 중첩 if문으로 하면
    
    if x > 0:
        if x < 20:
            print('20보다 작은 양수입니다.')
    
    # and 논리연산자를 사용
    
    if x > 0 and x < 20:
        print('20보다 작은 양수입니다.')
    
    # 부등호를 사용
    
    if 0 < x < 20:
        print('20보다 작은 양수입니다.')
        
        

    EX)四科目の平均点数により結果を出力する


  • 平均80以上が合格、以下が不合格、点数範囲でなければ誤点数として出力
    エラー値の処理は必ず行います.
  • # 네 과목의 점수를 입력 받는다.
    a, b, c, d = map(int, input().split())
    
    if 0<= a <= 100 and 0<= b <= 100 and 0<= c <= 100 and 0<= d <= 100:
    
        if (a+b+c+d)/4 >= 80:
            print('합격')
    
        else:
            print('불합격')
    
    else:
        print('잘못된 점수')
        
        

    elifによる多方向分割


  • 複数の条件式を指定し、条件ごとに異なるコードを実行します.
  • elifは複数回使用可能ですが、ifelseは一度しか使用できません
  • # 번호에 따라 음료 출력하기
    
    button = int(input())
     
    if button == 1:
        print('콜라')
    elif button == 2:
        print('사이다')
    elif button == 3:
        print('환타')
    else:
        print('제공하지 않는 메뉴')

    EX)交通カードシステムの作成

  • 入力値が7歳(整数)より大きい場合.
    年齢別料金控除後の印刷残高
  • age = int(input())
    balance = 9000
    
    if 7 <= age <= 12:
        balance -= 650
    elif 13 <= age <= 18:
        balance -= 1050
    elif age <= 19:
        balance -= 1250
    
    print(balance)
    
    
  • リファレンスリスト
    https://dojang.io/course/view.php?id=7
    https://tcpschool.com/python2018/intro