[TIL.24]Python - While, Dictionary Loop


While Loop


複文
  • forは、暗黙リスト、set、dictionaryなどのデータ構造に基づいてコードブロックを繰り返し実行する.
  • while
    データ構造に基づいていない場合、コードブロックを繰り返すために使用されます.
  • 特定の条件文がTrueの場合、コードブロックを繰り返し実行します.
    while <조건문>:     
        <수행할 문장1>     
        <수행할 문장2>     
        <수행할 문장3>     
        ...
        <수행할 문장N>     
    number = 0
    
    while number <= 10: #조건을 주고, 이 조건에 맞으면 조건문이 돈다.
        print(number)
        number += 1
    > 0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    

    Break & Continue


    breakはwhile文を強制的に閉じ、continueは次の繰り返し文に移動します.
    number = 0
    
    while number <= 10:
        if number == 9:
            break
        elif number <= 5:
            number += 1
            continue      # 다시 while number <= 10: 로 돌아간다.  
        else:
            print(number)
            number += 1
    > 6
    7
    8
    ifのようにwhileにelse文を追加できます.
    上に表示されたcontinueはwhile number <= 10:を返します.

    Q.

    find_smallest_integer_divisorという関数を実装してください.find_smallest_integer_divisor関数は、パラメータを受け入れます.
    パラメータ値は整数のみです.find_smallest_integer_divisor以外の最小数の整数を返さなければならない.この整数は、1によって与えられたパラメータ値で除算することができる.
    def find_smallest_integer_divisor(num): 
        ## 아래 코드를 입력해주세요.
      i = 2
      while num >= i:
        if num % i == 0:
          return i
        i += 1
      else:
        return 2
    偶数は常に正解が2なので奇数を考えるだけです.
    奇数の場合のみを考慮すればよく、numをi=2で割って余剰値がない場合はiが正しい;できない場合はiを続け、numで割って余剰値が0の場合に返して正しい処理を行う.
    これはもっと簡単になります.
    実際、whileに掛けられた条件は意味のない条件です.削除します.
    check_num = 2
    while num % check_num != 0:
      check_num += 1
    return check_num
    このように変更すると、コードを短くすることができます.

    loop dictionary


    ディクシャナを使用するfor反復文では、構造は各要素のキー値のみを返し、キー値を使用して値を取得します.
    -キー値をloopに設定

    値として循環

    values()関数はlistの形でディクシャナの値を返します.

    Key、value両方ともloop

    items()によってkey、valueはtupleに戻される.