【Tips】일정 데이터수마다 개행하는 정형 패턴

프로그래밍 미경험자가 Python 기억하고 아이용 계산 드릴을 만든다

에 대한 리팩토링 (2)

개선 내용


  • 개행 처리를 버퍼를 사용한 정형 패턴으로 변경
  • 데이터를 단번에 대입(append) 참고
  • 각 계산식을 하나의 목록으로 결합

  • 변경 후 전체 소스 코드 :


    
    """計算練習ドリルを作成
        改行処理にバッファー活用+appendで行ごと書き込むバージョン
    """
    
    import random
    import openpyxl
    
    wb = openpyxl.Workbook()  #新規ワークブックを作成
    sheet = wb.active
    
    # 各計算式を一つのListとして取り扱うと理解しやすい
    list_ = [[a, '+', b, '=', ''] for a in range(1, 10) for b in range(1, 10)]
    
    random.shuffle(list_)
    
    buf = []    #dataを一時ため込む変数
    for v in list_:
        if len(buf) > 25: #一行に25列以上データがある場合は改行    
            sheet.append(buf)
            buf=[]
        buf.extend(v)     #buf内にデータを一時的に追加保存
    sheet.append(buf)     #最終行書き込み
    
    wb.save('output3.xlsx')
    
    

    좋은 웹페이지 즐겨찾기