前回の続き
6月になり、新人さん達をプログラミング勉強会に (強制) 参加してみたり・・・(パワハラにならないかビクビク
参考書によると今回は前回の復習も兼ねてエクセルを操作するタスク回でした。
おさらい
年齢適応表?的なものを作れという指示だったのでサクッと。
他のメンバーはコツを掴みつつあるのかパッとできた人と、色々調べながらちょっとずつ進む人とまちまち(2人しかいないけどね!)
import openpyxl as excel
import datetime
book = excel.Workbook()
sheet = book.active
# 2023年ベタでも可
this_year = datetime.date.today().year
print(this_year)
for i in range(121):
sheet.cell(row=i + 1, column= 1, value=str(i) + "才")
sheet.cell(row=i + 1, column= 2, value=str(this_year - i) + "年")
book.save("test-year.xlsx")
かなりあっさりだったので、二重ループの問題「A1:Z10の各セルに応じて『A1』と座標を入力したエクセルを作りなさい」と問題追加。
案の定どっちがどっちか分からなくなりパニックな模様。(しめしめ
そして宿題として「行ごとに値を出力する」を追加して終了。
Unit Testの話
別件でPythonでUnitTestを書くという勉強会があったので喜んで参加。
モックを使うのはいいものの、初期化をテスト毎にできないのだろうか?
引数に追加する必要がでてきたり、何かしら面倒が増えるとのことだったが。。。
絶対解決策あるはず!(探す余裕があれば
ついでにGoogleコラボラトリーでやってやるかということで書いてみたところ、結論はうまくできた。
ただ、実行のところでmainの引数がなかったことによりエラーが出ていた。
if __name__ == "__main__":
unittest.main(argv=['first-arg-is-ignored'], exit=False)
ググるとカーネルプロセスがどうたらということらしい。。。
コラボラトリー環境がどうなってるのか分からないまま使っているのでいかんなぁ・・・
UnitTestはTDDやるならガンガン書いてこう!