2023.07.18はじめに今回の記事は、実際にプログラムを作成する実践編になります。これまで学習した部分を生かしながら、つまずきやすい部分(実際に筆者がつまずいた部分)を中心に複数回にわたって解説していきます。細かい文法というよりは、初歩的なプログラムを作成するうえでの考え方などを中心に取り扱っていきます。作る関数を精査しようまとめおさらい前回の【第9回】タッチタイピングを作ろう2では、プログラムの部品としての関数を1つ作成しました。今回は、主要な3つの処理のうち残り2つのプログラムを書いていきます。入力にかかった時間が表示される以上の処理について、前回説明した手順で考えていきます。一致率を計算するとき、「ランダムに表示された文字列」と「入力した文字列」のデータが必要になります。ランダムに表示された文字列はrandom_lineという変数として前回定義しましたが、「入力した文字列」はまだ定義されていません。よって、まずこれを作ります。Pythonには、組み込み関数という、定義しなくても使える関数があります。このうちinput()は、入力されたデータを文字列として扱ってくれる関数です。:”)上のように記述すると、キーボードで打ち込んだ値がinput_lineという変数として定義されます。input_line==abcとなります。これで比較する2つの変数を定義できました。つぎに、関数の形を考えてみます。求めたい一致率は、ランダムな文字列と入力した文字列によって変化するので、引数にこの2つをとると良さそうです。求めた一致率は表示するときを考えて戻り値にしてみます。rateそれでは実際に中身を書いていきます。一致率を求めるには、ランダムな文字列と入力した文字列をそれぞれ1文字ずつ分解して、対応するリストに格納し、1文字ずつ同じであるか確認していく形がとれそうです。一致率を求める便利な関数がpythonにあれば利用したいところです。random_line).ratio()difflibというモジュールをインポートすると、一致率を求める関数が使用できることが分かりました。difflibdifflib.SequesnceMatcher~は引数に比べたい値を入力すると一致率が出るという関数です。rate=round(precise_rate,1)*100の部分では、割合をパーセンテージにし、小数点1位まで丸める記述をしています。以上で一致率を計算する関数の作成は完了になります。~作る関数を再確認しよう~つぎに、入力にかかった時間が表示される処理について考えていきます。入力にかかった時間が表示される処理と聞くと、難しそうな関数のように思えます。実際には、1ランダムな文字列が表示されたときの時刻から、2文字列の入力が完了した時刻を引き算すると、かかった時間が求められます。実質引き算のみでこの処理を行うことができます。timetimeというモジュールをインポートし、time.time()という関数を使うと現在時刻を求めることができます。☆ここにランダムに文字列を表示する処理start=time.time()☆ここに文字列を入力する処理end=time.time()final_time=round(end-start,1)このように、各処理のタイミングで現在時刻を変数にしておき、引き算をすることで差分としてかかった秒数を求めることができます。プログラムを考える段階では難しそうな処理も、実際に書く準備をしていると簡単な処理で完了することがあります。今回は関数にする必要がなさそうなので、以上の記述で十分であると考えられます。~便利だと考えたら関数にしよう~逆に、プログラムの構想段階では特に重要でなさそうだった処理も、関数にしておくと便利な場合があります。今回のプログラムで記述した「文字列を入力する」処理は、何度も入力したり、プログラムの操作にかかわるものであるため、関数にしておくと便利かもしれません。-このように、入力した文字列を戻り値として返す関数にしておくと、入力した値を扱うときに便利です。まとめ全体のプログラムを考える段階では難しそうであったり、逆に重要度の高くない処理も、準備段階で「意外と簡単かも?」「使う回数が多そうだから関数にしたい」と考えが変わる場合があります。その場合は、全体の流れを考えながら臨機応変に対応していくことも重要です。次回以降は、作成した関数を実際のプログラムに組み込んでいく方法を解説していきます。今回の記事は、実際にプログラムを作成する実践編になります。これまで学習した部分を生かしながら、つまずきやすい部分(実際に筆者がつまずいた部分)を中心に複数回にわたって解説していきます。今回のブログでは、プログラムをつくるうえでたくさんの値やデータを扱うさいに便利な「リスト」をメインに、データの構造について説明していきます。今回の記事は、実際にプログラムを作成する実践編になります。これまで学習した部分を生かしながら、つまずきやすい部分(実際に筆者がつまずいた部分)を中心に複数回にわたって解説していきます。今回の記事からは、実際にプログラムを作成する実践編に入っていきます。これまで学習した内容を生かしながら、つまずきやすい部分(実際に筆者がつまずいた部分)を中心に解説していきます。今回の記事では、前回の「プログラミングって何?【第1回】」で解説した「変数」について解説していきます。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。最近のコメント表示できるコメントはありません。ほやほやSE日記.ホーム検索トップサイドバータイトルとURLをコピーしました。