開発環境
- macOS Mojave - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Python 3.7 (プログラミング言語)
はじめての機械学習 (小高知宏(著)、オーム社)の第2章(パラメーター調整による学習)、2.2(パラメーター調整による時系列データの学習)、2.2.1(学習データセットの作成)、フィールドの取得をC言語ではなくPythonで取り組んでみる。
コード
Python 3
#!/usr/bin/env python3 import sys if len(sys.argv) != 2: print('Usage: cutfield.py.py <Nの値>', file=sys.stderr) sys.exit(1) try: n = int(sys.argv[1]) if n < 1: raise ValueError('Nの値が1以上の整数ではない。') except ValueError as err: print(err, file=sys.stderr) sys.exit(1) SEP = '\t' for line in sys.stdin: try: s = line.split(sep=SEP)[n - 1] print(float(s.strip())) except IndexError as err: print(f'フィールドがありません。{n}', file=sys.stderr) sys.exit(1) except ValueError as err: print(err, file=sys.stderr) sys.exit(1)
入出力結果(Bash、cmd.exe(コマンドプロンプト)、Terminal、Jupyter(IPython))
$ ./cutfield.py Usage: cutfield.py.py <Nの値> $ ./cutfield.py -1 Nの値が1以上の整数ではない。 $ ./cutfield.py 0 Nの値が1以上の整数ではない。 $ ./cutfield.py a invalid literal for int() with base 10: 'a' $ ./cutfield.py 2 < sample2.txt 12.0 22.0 32.0 42.0 52.0 $ ./cutfield.py 4 < sample2.txt 14.0 24.0 34.0 44.0 54.0 $ ./cutfield.py 5 < sample2.txt フィールドがありません。5 $
0 コメント:
コメントを投稿