8月27日のあれこれ
今日のひとこと
- 修士時代の研究室の先輩の職場に遊びに行った。本がいっぱいあって楽しかったな。
- Project Eulerでの初歩的な関数でバグってたのはちょっと恥ずかしい
今日やったこと
- 運動
- ラジオ体操
- 勉強
- Project Euler解答(Python:23)→約数を求める関数で致命的ミスをしておりドハマリ
- その他
- 「ひとこと」欄に記載の某所に遊びに行く
- 帰りに現職場に行って荷物を持って帰る
学んだこと・困ったこと・共有したいこと
- 学)Project Eulerといえども(?)、ハマらないようにちゃんと関数はテストしよう
恥ずかしさの共有
def getDivisors(x): dv = [] for i in range(1, int(math.sqrt(x))+1): if x % i == 0: dv.append(i) dv.append(x // i) return list(set(dv))
上記はバグ改修版。↑の、
range(1, int(math.sqrt(x))+1)
を
range(1, math.ceil(math.sqrt(x)))
としていたので、平方根を抽出できなかった、というオチ。 過去に使ってた関数の使い回しで、他の問題では偶然にも答えに影響しなかったのが、問題解決に時間がさらにかかってしまった要因でもある。
…ちゃんと関数をテストしよ。