Python(Python)繰り返し文


1.繰り返し実行するためのfor文


  • 文脈
    -リスト、凡例、写真、文字列などのオブジェクトアイテムを巡回し、特定の操作を繰り返します.

  • クエリー構文
  • for 변수 in 순회할 객체: # 순회할 객체의 첫번째 항목부터 마지막 항목까지 차례로 변수에 대입
        명령문1
        명령문2
    コードは1行1行作成できますが、コードには多くの重複が発生し、変更が発生すると多くの変更が発生します.
    →コードの重複部分を見つけて、重複文で処理する文に変えて解決!
  • for文の九九九诀プログラム
  • dan = int(input("단을 입력하세요: "))
    for i in (1,2,3,4,5,6,7,8,9):
        print("{0} x {1} = {2:>2}".format(dan, i, dan * i)) # >2 정렬의 방향을 우측으로 하고 자릿수는 2자리로 함
    dan = int(input("단을 입력하세요: "))
    for i in range(1, 10, 1):
        print("{0} x {1} = {2:>2}".format(dan, i, dan * i)) # 위 코드와 동일함.
  • range()関数:
    -オブジェクトのコードを生成
  • の範囲をカバーする
  • range(範囲の開始値、終了値、増分)
    1)第1パラメータ値は範囲内に含まれ、第2パラメータとして渡される値は範囲内に含まれない
    2)2番目のパラメータは省略できません.1番目と3番目のパラメータは省略できます.
    3)パラメータを省略する場合、1番目のパラメータのデフォルト値は0、3番目のパラメータのデフォルト値は1
  • である.
    1 range(0, 10, 1) # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
    2 range(10, 1) # 첫 번째(0) 인자 생략
    3 range(10) # 첫 번째(0), 세 번째(1) 인자 생략
    4 range(1, 10, 2) # 1, 3, 5, 7, 9
    5 range(10, -1, -2) # 10, 8, 6, 4, 2, 0
  • for文でDictionaryオブジェクトを使用して
  • エントリを出力
    dogs = {1: "골든리트리버", 2: "진돗개", 3: "보더콜리"}
    
    for key in dogs:
        print("{0} : {1}".format(key, dogs[key]))
        
    for key, value in dogs.items(): # <class 'dict_items'> 객체 활용
        print("{0} : {1}".format(key, value))
        
    [결과]
    1 : 골든리트리버
    2 : 진돗개
    3 : 보더콜리
  • for文で使用する文字列の単一文字出力
  • str = "Python"
    
    for c in str:
        print("{0}".format(c))
        
    [결과]
    P
    y
    t
    h
    o
    n
  • for文でリストオブジェクトを使用して総点を求めるコード
  • scores = [100, 95, 88, 98] # 리스트형으로 4개의 점수를 저장
    total = 0 # 총점 초기화
    
    for score in scores:
        total += score
        
    print("총점: {0}".format(total))
    
    [결과]
    총점 : 381

    2.重なるfor文


  • ネストされたfor文
    -forドア内のもう一つのforドアの形態

  • ネストされたfor文構文
    -巡回するオブジェクト1に対して重複を実行するアイテム数x巡回するオブジェクト2に対して重複を実行するアイテム数
  • for 변수1 in 순회할 객체1:
        for 변수2 in 순회할 객체2:
            명령문1
            명령문2
            ...
  • ネストfor文を用いた九九段出力コード
  • dan = range(2, 10) # range 객체로 2~9 정수 값을 항목으로 가짐
    num = range(1, 10) # range 객체로 1~9 정수 값을 항목으로 가짐
    
    for i in dan:
        for k in num:
            print("{0} x {1} = {2:>2}".format(i, k, i * k))
            if k == 9: # True일 경우 각 단 사이에 공백 라인을 출력하기 위한 코드
                print()
                
    for i in dan:
        for k in num:
            print("{0} x {1} = {2:>2}".format(i, k, i * k))
        print() # 위와 동일한 코드
    
    [결과]
    2 x 1 =  2
    2 x 2 =  4
    2 x 3 =  6
    2 x 4 =  8
    2 x 5 = 10
    2 x 6 = 12
    2 x 7 = 14
    2 x 8 = 16
    2 x 9 = 18
    
    3 x 1 =  3
    3 x 2 =  6
    ...

    3.繰り返しwhile文の実行


  • ドア
    -bool値を返す条件式の結果によって繰返しが決定されます.条件式はfalse値を返さなければなりません.文の繰返しは停止します.したがって、無限の繰返しを避けることを考慮する必要があります.

  • while文の構文
  • while 조건식:
        명령문1
        명령문2
        ...
  • while文生成gugudan出力コード
  • dan = int(input("단을 입력하세요: "))
    i = 1
    
    while i < 10: # i가 10일 경우 False를 반환하면서 while문이 종료됨
        print("{0} x {1} = {2:>2}".format(i, k, i * k)) # :>2 정렬방향 우측, 자릿수는 2자리
        i += 1 # 변수 i에 대해 반복이 일어날 때마다 1씩 증가시키는 문장이 없다면 무한루프에 빠짐
  • while文でリストオブジェクトを使用して合計スコアを求めるコード
  • scores = [100, 95, 88, 98] # 리스트형으로 4개의 점수 저장
    total = 0 # 총점 변수 초기화
    cnt = len(scores)
    i = 0 # 첫 번째 항목의 위치(인덱스)를 나타내는 0을 저장
    
    while i < cnt:
        total += scores[i]
        i += 1
    
    print("총점: {0}.format(total))
    
    [결과]
    총점: 381

    4.重複を制御するためのブレークポイント、continue文


  • for文:巡回するオブジェクトの最後の項目に繰り返す

  • while文:bool値を返す条件式がfalseを返すまで条件式を繰り返します.

  • break文:繰り返し文を論理的に終了する

  • continue文:後続のコードをスキップして重複文を実行し続ける場合に使用します.
  • answer = "" # 변수 answer는 공백 문자열("")로 초기화
    
    while True:
        answer = input("명령을 입력하세요.\n'q'를 입력하면 프로그램이 종료됩니다. : ")
        if answer == "q":
            break # 'q' 입력시 while 문에서 벗어남
        print("'{0}'를 입력하셨습니다.".format(answer))
    
    print("프로그램을 종료합니다...")
    
    [결과]
    명령을 입력하세요.
    'q'를 입력하면 프로그램이 종료됩니다. : q
    프로그램을 종료합니다...
    answer = ""
    
    while True:
        answer = input("명령을 입력하세요.\n'q'를 입력하면 프로그램이 종료됩니다. : ")
        if answer == "q":
            break
        print("'{0}'를 입력하셨습니다.".format(answer))
    
    print("프로그램을 종료합니다...")
    
    [결과]
    명령을 입력하세요.
    'q'를 입력하면 프로그램이 종료됩니다. : a
    'a'를 입력하셨습니다.
  • continue文の例
    -リストオブジェクト(1から10まで格納されたリストオブジェクトの整数、3の倍数を除く)の合計を求めるコード.
  • numlist = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    total = 0 # 총합을 저장할 변수 초기화
    
    for n in numlist:
        if n % 3 == 0: # n의 값이 3의 배수인지 검사하기 위해 나머지(%) 연사자 사용
            continue # n의 값이 3의 배수일 때 : 나머지 블록은 건너뛰고 for 문으로 제어를 옮김
        total += n # n의 값이 3의 배수가 아닐 때 : 변수 total에 값을 누적
        
    print("3의 배수를 제외한 총합: {0}".format(total))
    
    [결과]
    3의 배수를 제외한 총합: 37

    5.forとwhile文によるプログラム作成

  • Step 1.
  • Step 2.
  • Step 3.
  • 次のサイトを参照して、対応するロケーションを作成してください.
    SW Expert Academy https://swexpertacademy.com/