スマホのメモは、ファイル
スマホのメモ、授業のレポート、LINEの履歴。どれも、文字が入った「ファイル」です。
ファイルの文字をプログラムで読めれば、「この言葉は何回出たか」を、一瞬で数えられます。
今日は、文字を読んで、行に分けて、数えます。
今日のキーワード
| ことば | いみ | れい |
|---|---|---|
| ファイル | 名前をつけて、保存しておく、データのまとまりです。 | memo.txt |
| テキスト | 文字だけでできたデータです。 | 今日は晴れ |
| 行 | テキストの、一行分の文字です。 | 一行目 |
| 改行 | 行を分ける印です。Python では "\n" と書きます。 | "あ\nい" |
| split | 文字列を、決めた印で区切って、リストにする道具です。 | text.split("\n") |
学生が入力するセルは、このプレビューでは空白です。
文字の中の改行
テキストの中には、見えない「改行」の文字が入っています。Python では、\n と書きます。
print("あ\nい") と書くと、あとの「い」が、次の行に出ます。
やってみよう: 改行を入れる
text = "一行目\n二行目\n三行目"
print(text)
# 長さは、改行も一文字として数えます。
print(len(text))
# 四行目を足して、実行しましょう。
ファイルを開く書き方
# memo.txt を読み、中の文字を text に入れます。
with open("memo.txt", encoding="utf-8") as f:
text = f.read()
# with を使うと、読み終わったとき、自動で閉じてくれます。
# encoding="utf-8" は、日本語を正しく読むための指定です。
この授業の練習について
ヒント
ここでは、ファイルから読んだ「あとの文字」を、文字列として用意して練習します。読んだあとの扱いは、ファイルでも文字列でも同じです。課題の関数も、文字列を受け取ります。
split で行に分ける
text.split("\n") と書くと、文字列が、改行のところで切られて、リストになります。
あとは、for で一行ずつ見るだけです。リストの授業で学んだ書き方が、そのまま使えます。
やってみよう: 行に分けて数える
text = "今日は晴れ\n明日は雨\n明後日は晴れ\n"
lines = text.split("\n")
print(lines)
print(len(lines))
# 最後の改行のあとが、空の行になって残ります。
for line in lines:
if line != "":
print("行:", line)
例: split の結果
| 文字列 | split("\n") の結果 | len |
|---|---|---|
| "あ\nい\nう" | ["あ", "い", "う"] | 3 |
| "あ\nい\nう\n" | ["あ", "い", "う", ""] | 4 |
| "あ" | ["あ"] | 1 |
| "" | [""] | 1 |
学生が入力するセルは、このプレビューでは空白です。
小さな確認: 行に分ける
やってみよう
小さな確認: 行に分ける
3問挑戦してみましょう。回答はここで採点され、その後は保存されません。点数を残したい場合や、続きから再開したい場合はログインしてください。ログインして点数を保存
答えはここで採点され、保存されません。アカウントがあれば、結果が残ります。