メインコンテンツへスキップ
  1. 第01講 プログラミングAの復習/

第01講 週次課題

週次課題 ファイル Histogram
目次

課題01-1 Big&Small
#

難易度 ⭐

1以上,10以下の整数乱数を取得し,その値が5以上なら Big,5未満なら Small と出力するプログラムを作成してください. プログラムは big_small.py というファイル名で保存してください.

import random

num = random.randint(1, 10) # 1 以上 10 以下の乱数を生成する.
# num が 5 以上なら Big,5 未満なら Small を出力する.

ヒント
#

課題01-2 lines コマンドの実装
#

難易度 ⭐⭐

lines.py コマンドは,指定されたファイルの行数を数えるコマンドです. 以下の実行例のように,lines.py にファイル名を指定すると,そのファイルの行数を出力するように実装してください. 実行結果の数値は同じである必要はありません.

$ wc lines.py cat.py # lines.py cat.py の2つのファイルの行数,文字数,単語数を調べる.
       5      14     142 lines.py
       6      17     144 cat.py
$ python3 lines.py lines.py cat.py # lines.py cat.py の2つの行数を調べる.
    5  lines.py
    6  cat.py

ヒント
#

課題01-3 ヒストグラムの作成
#

難易度 ⭐⭐⭐

以下のダウンロードリンクからダウンロードできるファイル vscode_lines.dat は,Visual Studio Code のソースコードのうち,TypeScript で書かれたファイルの行数(LOC; lines of code)を記録したファイルです. これをダウンロード後,読み込んでヒストグラムを表示するプログラム histogram2.py を作成してください. また,データファイルは,コマンドライン引数(sys.argv[1])で与えるようにしてください(プログラム中にファイル名を直接書かないでください).

ただし,100行以下のプログラムの数が圧倒的に多いので,0〜1,000行までに限定してヒストグラムを表示してください. 以下のように,rangeオプションを用いることで,指定した範囲のヒストグラムを表示できます.

plt.hist(data, bins=100, range=(0, 1000)) # ビン(棒)数を100に設定して,0〜1000行の範囲でヒストグラムを描画する.

📥 ダウンロード

import matplotlib.pyplot as plt
import sys

data = []

# ファイルを読み込む(sys.argv[1]).
    # ファイルの各行に対して以下を繰り返す.
        striped_line = line.strip()     # 読み込んだ行の前後の空白を削除する.
        items = striped_line.split(' ') # 行を空白で分割する.
        loc = int(items[0])             # 行数を整数に変換する.
        #  data に loc を追加する.

# ヒストグラムを描画する.
# - ビン(棒)数を100に設定して,0〜1000行の範囲でヒストグラムを描画する.
# - グラフのタイトルを設定する.
# - ヒストグラムを表示する.

ヒント
#