#05高校情報科の授業で初めてPython(パイソン)というプログラミング言語に取り組む 第5回
今年初めて授業でPython(パイソン)というプログラミング言語に挑戦している。
第5回はwhile文を使った繰り返しを扱った。これからPython(パイソン)を学ぶ方の参考になれば幸いです。
学習内容
最も仕組みの簡単な繰り返し文として、while文が紹介されている。
最初に、繰り返しの数を数えるためのカウンタ変数を初期化しておく必要がある。
次に、指定の条件が真の間(条件が正しい間)繰り返し処理を実行する。
そして、カウンタ変数をカウントアップ(時にはカウントダウン)する必要がある。もし忘れてしまうと、永遠に繰り返しを抜けられなくなり無限ループに陥ってしまう。
最終的に、指定の条件が偽の場合(条件が正しくない場合)に繰り返しを終える。
Python3のコードを入力する際は、インデント(字下げ)が大切になる。
while文の繰り返し処理の部分は、インデント(字下げ)して記述する。
テキストに載っている、1から10までの和を計算するプログラムを作った後、乱数を使ったカメ競争のプログラムを作った。
また、進捗の早い生徒には「無限ループの罠」として、実験的に無限ループのプログラムを作らせ、回避策を考えさせた。
さらに、「n = n + 1」を「n += 1」と書く代入演算子を紹介した。
発展課題
プログラミングが得意な生徒向けに、階乗の計算をする発展課題を用意した。10!=1×2×3×4×5×6×7×8×9×10の値を計算するプログラムを作る。
4行目だけ空欄にして、どんな式を入れるべきか考えさせた。生徒同士で答えを見つけたクラスもあったし、答えを教えてほしいと言われて伝えたクラスもあった。
4行目は「f *= i 」または「f = f * i 」となる。
Paiza.ioでのinput命令の実行方法
テキストはIDLEでの操作が書かれており、input命令を同じように実行できなくて困っていた。
Paizaラーニングで課題を進めていたら、やっと、input命令の使い方が分かった。
「入力」タブをクリックして、入力したい値を入れてから実行するのだ。
きっとできるはず、と思ってはいたが、なかなか見つけられなくてモヤモヤしていた。
input命令を実行する方法が分かって、スッキリした。
生徒たちの様子
指定された条件を満たす間繰り返す、ということを実感するのは難しいようだった。
「よー分からんけど、テキストの通りに打って実行したら、おんなじように出力できた。何でなん?」
などと聞かれた。
テキストではIDLEのデバッガーを使って1行ずつ実行しているが、Paiza.ioではできない。
カウンタ変数iに1が代入され、繰り返し処理が実行されて、カウンタ変数iが2になって、条件を満たすので2度目の繰り返し処理が実行されて、、、と説明すると、やっと「あー、そういうことか!」と分かった様子だった。
来週は遠足があり、授業は2週間後なので、この復習から始めたい。
テキスト
生徒たちに『ゼロからやさしくはじめるPython入門|マイナビブックス』を購入してもらっている。
この記事が気に入ったらサポートをしてみませんか?