Day 110テストデータのセットアップと後処理
Pythonコード
1def setup_test_data():2 # テストデータを保存するためのリスト3 test_data = []4 5 # テストデータの数を入力する6 while True:7 try:8 num_data = int(input('テストデータの数を入力してください:'))9 if num_data <= 0:10 print('1以上の数を入力してください。')11 else:12 break13 except ValueError:14 print('数値を入力してください。')15 16 # テストデータを入力する17 for i in range(num_data):18 data = input(f'テストデータ{i+1}を入力してください:')19 test_data.append(data)20 21 return test_data22 23def process_test_data(test_data):24 # テストデータをソートする25 test_data.sort()26 27 # ソートされたテストデータを表示する28 print('ソートされたテストデータ:')29 for data in test_data:30 print(data)31 32setup_test_data_list = setup_test_data()33process_test_data(setup_test_data_list)
解説
- 行1〜3: テストデータをセットアップするための関数 setup_test_data を定義します。この関数では、テストデータを保存するためのリスト test_data を作成します。関数の目的は、テストデータの数を入力してもらい、その数だけのテストデータを入力してもらうことです。ここで、リストとは複数の値を一つの変数に格納することができるデータ構造です。
- 行5〜14: テストデータの数を入力するためのループを作成します。入力された値が数値で、1以上の場合にループを終了します。そうでない場合は、入力ミスを通知して再入力を求めます。try と except は、プログラムの実行中に起こり得るエラーを捕まえるために使います。ValueError は、int() 関数で数値以外の値を変換しようとしたときに起こります。
- 行16〜20: テストデータを入力するためのループを作成します。入力されたテストデータをリスト test_data に追加します。range() 関数は、連続した整数を順番に取り出すために使います。input() 関数は、ユーザーから入力を受け付ける関数です。
- 行22〜25: テストデータをソートするための関数 process_test_data を定義します。この関数では、テストデータのリストをソートし、ソートされたリストを表示します。sort() 関数は、リスト内の要素を昇順に並べ替える関数です。sort() 関数は、リスト内の要素を変更します。
- 行27〜30: setup_test_data 関数を呼び出し、テストデータのリストを取得します。次に、process_test_data 関数を呼び出し、テストデータのリストをソートして表示します。print() 関数は、画面に文字や値を表示する関数です。
- 行17: 補足: range() は連続した整数を順番に取り出すために使います。例えば、range(5) は 0, 1, 2, 3, 4 を順番に取り出します。
- 行10〜30: 補足: print() は画面に文字や値を表示する関数です。例えば、print('Hello, World!') は画面に 'Hello, World!' と表示します。
次に試してみよう
- テストデータの数を入力せずに、事前に定義された数のテストデータを使用するようにプログラムを変更してみましょう。
- テストデータをソートする代わりに、テストデータを逆順に並べ替えるようにプログラムを変更してみましょう。
- テストデータを入力する代わりに、事前に定義されたテストデータを使用するようにプログラムを変更してみましょう。