for文でつまづいてつまづいて・・・ーWebアプリ制作日記その6

AIアプリ制作
2020年4月8日金沢城公園。もう散り始めている。

前回、
ページの変わっていく部分が20 ずつ増える、
という部分で固まってしまった。

前回までのコード。まるのところの数字が20ずつ増えていく。

そこを親切なNさんに教えてもらった。

for 変数 in range( )

は、よく、変数をカウンタ変数 i として、

for i in range(5)

と書き、

>> 0



を得る、
というふうに使う。

しかし、
range関数は、引数に

(始まりの値、終わりの値、増加する量)

を指定できるのだ。
(先ほどの5は、終わりの値だけを指定している。後の2つの引数は省略可能。)

それで、変数をurl_numとし、

for url_num in range(0, 22120, 20)

とすると、

>> 0, 20, 40, …, 22100

まで取ってこれた。
なのでそれを、

browser.get(url.format(url_num))

で回せば(for文に組み込めば)OK!

と思って実行したら、またもつまづいた(泣)。

for 文を回すと、どんどん繰り返されるので、
1回1回、取ってきた俳句をリストに追加していかないと、
最後の22,100ページの俳句だけが出力されるのだ。
(プログラミング超初心者にしか起こりえないミスで恐縮です。)

つまり、

きちんとチャートフローを書いて、プログラミングしよう

ということだ。

こういうことは、
実際にコードを書いてエラーを出さないと気づけない。
本に載ってるコードを無意識に写経しているだけではダメなのだ。

改訂3版 これからはじめるプログラミング基礎の基礎
を読み返して、再度、基本を再確認したい。

プログラミングをする前に概念を理解するための良書

で、できたコードがこれ。
(url = が切れているが、数字が変わる部分を、entry= { } としている)

キカガク長期コースの先生にだいぶ(ほとんど?)直してもらった。

しかし、
これを回すと今度はこんなエラーが出て、

エラー対応しないと成長しないので、とりあえず自分で調べよう!

89ページ分(1,780句)しか取れなかった。

もう無理!

と肩を落とす前に、
今回は自分でその原因を考えてみたい。(つづく)

Follow me!