課題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行の範囲でヒストグラムを描画する.
# - グラフのタイトルを設定する.
# - ヒストグラムを表示する.