よーじ通信

底辺社内ニートがプログラミングや役に立ちそうなネタを書いています

よーじ通信

【Python入門】プログラミング超初心者が0からはじめる入門編 vol.11

f:id:youji11410:20170106200328j:plain

知識ゼロの超初心者がプログラミング初挑戦でPythonをはじめました。第11回目はテキストファイルをいじってみよう。

スポンサーリンク
 

 

第14章 文字列を扱ってみよう

 14-1 文字列をつかったプログラムをつくろう

長い文字列を扱うにあたって、青空文庫からテキストファイルをダウンロードしてみましょう

それを利用して、次のようなプログラムを作ってみます

 

  1. 全体の文字数を調べる
  2. 特定の文字列が含まれている回数を調べる

 

14-2 テキストファイルをダウンロードする

青空文庫 Aozora Bunko

 

ここから、太宰治の人間失格をダウンロードしてみましょう

どの小説でもかまいません

僕は、太宰治が好きなので、これを選びました

 

f:id:youji11410:20170106201858p:plain

【作家別→た】から太宰治を選び、人間失格を選びます

開いたページの下の方にあるファイルのファウンロードの項目より「テキストファイル(ルビあり)」をクリックしてダウンロードしてください

ダウンロードしたファイルをクリックすれば、zipファイルが解凍されます

 

14-3 ダイアログボックスをつくる

それでは、ダウンロードしたファイルをPythonに読み込んでみましょう

通常、ファイルの読み込みは一つではないので、ダイアログボックスというものを使ってファイルを選べるようにします

ダイアログボックスとは、ファイルを開く時にでてくるウィンドウのことです

この作業は、Coding Groundではできないので、ターミナル(Windowsはコマンドプロンプト)で行います

 

f:id:youji11410:20170106203752p:plain

まず、エディターにコードを打ち込み、【main.py】と名前をつけて保存します

次にターミナルで実行します

 

f:id:youji11410:20170106205119p:plain

開けましたか?

【Open】というウィンドウが開いたかと思います

ダウンロードフォルダではないフォルダが開いた場合は、ダウンロードまで移動しましょう

同時に【tk】という真っ白なウィンドウが開くかと思いますが、気にしないでください

 

それでは、ダウンロードウィンドウから【ningen_shikkaku.txt】を選択してOpenをクリックします

 

14-4 ファイルの中身を表示する 

 

f:id:youji11410:20170106212455p:plain

次に、コードをこのように書き換えます

実行すると、先ほどのようにOpenウィンドウが開くので、ダウンロードフォルダ内にある【ningen_shikkaku.txt】を選択してOpenをクリックします

すると、ターミナルには文字化けしたコードが羅列されます

 

指定したファイルの中身が日本語のため、文字化けしてしまったわけです

 

 

f:id:youji11410:20170106213215p:plain

では、これを解決する為にこのようにコードに書き換えます

正しく入力されていれば、ターミナルにファイルの中身が正しく表示されます

 

14-5 文字を数える

文字列の長さを教えてくれる関数を覚えていますか?

【len( )】でしたね

 

f:id:youji11410:20170106222334p:plain

実行すると、数字が表示されました

 

f:id:youji11410:20170106222636p:plain

文字数は77,634文字あります

 

14-6 特定の文字数が何回でてくるか調べる

特定の文字列が何個あるのか調べる関数は【.count( )】メゾットで調べるんでした

 

f:id:youji11410:20170106223415p:plain

先ほどのコードに赤い四角で囲まれたコードを追加してください

人間の前についている【u】をつける必要があります

これはUnicodeのuのようです

世界中どこでも使える呪文だと思ってください*1

 

f:id:youji11410:20170106224630p:plain

このような実行結果になりました

この文字列には【人間】が90個あるようです

 

様々な文字を数えられるように改造してみましょう

 

f:id:youji11410:20170106232512p:plain

 

実行すると、【$】のない状態になりますので、調べたい単語を入力してみましょう

そして最後に【end】を入力します

 

おわり

いかがでしたか?

僕は、なかなかコードが実行できず何度もエラーがでました

なんのエラーか調べる時は、こちらを参照するといいですよ

Pythonエラー一覧(日本語) - Qiita

 

#を使って書くコードは、コメントアウトと言って、コードとしては読み込まれないものです

コードが複雑になると、何についてのコードなのかわかりづらくなるので積極的に使っていきたいですね

 

スポンサーリンク

▼関連記事▼

【Python入門】プログラミング超初心者が0からはじめる入門編 vol.10

*1:調べたけどよくわかりませんでしたw

© 2016 よーじ通信