B04 [宿題]

B04_1 (スクリプト)

ねらい: 要素の型が混合したリストの操作に慣れる.

以下の手順を実行するプログラム b04_1.py をエディターで作成し,シェルから実行しなさい.実行結果のスクリーンショット b04_1.png と b04_1.py を提出しなさい.

ただし,表示は数値やリストをただ表示するのではなく,

変数名 = 値

と言う形式で表示するようにしなさい.

例:

required = ['プログラミング実習I', '人工知能基礎’, ...]
n_name = 4
  1. 自分の名前の英標記の名(first name), 学籍番号,学籍番号を7で割った値,自分の名前の英標記の姓(last name)をこの順番で要素とするリストを作り,変数list_testに代入する.

  2. list_testを表示する.

  3. list_testから2番目と3番目の要素を取り出して変数list_numに代入し,数値のみのリストを作る.

  4. list_numを表示する.

  5. list_numの要素を昇順で並べ替える.

  6. 並べ替えたlist_numを表示する.

  7. list_testから自分の学籍番号を検索して削除する.*remove()を使う.

  8. list_testを表示して,学籍番号が削除されていることを確認する.

  9. list_testに残っている数値をインデックスを指定して削除する.*pop()を使う.

  10. list_testの要素を昇順で並べ替える.

  11. list_testを表示する.


B04_2 (インタラクティブシェル)

ねらい: リストの操作に慣れる.pythonの文法について自分で調べる練習をする.

循環小数の繰り返される数字の列(循環節)を求めよう. 以下の手順をインタラクティブシェルで実行し,実行結果のスクリーンショットをb04_2.pngとして提出しなさい.

  1. 準備:「Pythonのリストの要素を検索し,最初に見つかった要素のインデックス(何番目の要素か)を取得する」方法をネットなどで検索して調査する.

  2. まず,1を7で割った値を計算し,変数baseに代入する.

  3. 自分の学籍番号の下四桁を3で割った余りに1を足した値を変数my_numberに代入する.

  4. my_numberを表示する.

  5. baseにmy_numberを掛けた値を文字列に変換して変数dnum に代入する.文字列ヘの変換はstr()を用いる.

  6. dnumを表示する.dnumは循環小数になっている.この数の繰り返される数字部分を以下の手順で取り出す.

  7. dnumの各文字を要素にしたリストを生成し,変数 dnumlistに代入する.文字列の各文字を要素にしたリストを生成するには list(文字列の変数名)を用いる.

  8. dnumlistのリストの要素のうち,先頭から2要素は0と小数点(’.’)なので先頭から2要素を削除する.

  9. dnumlistのリストの最初の要素を変数cnum に代入する.また,dnumのリストの最初の要素をリストから削除する.これは最初の要素と同じ値をリストdnumlistから検索する準備になる.

  10. cnumと同じ値をdnumlistから探索し,最初に検出した同じ値の要素のインデックスを,変数next_num に代入する.これは小数点以下の最初の値が再び出現するときのインデックスを代入することになる.

  11. next_numを表示する.

  12. dnumlistの先頭にcnumの値を挿入して,dnumlistの小数点以下を元に戻す.

  13. dnumlistの先頭から,小数点以下の最初の値が再び出現するときまでのひとまとまりを表示する.つまり,[0]から[next_num]の添え字を持つ要素を取り出して表示する.これは,循環小数の循環節に相当する.


B04_3 (スクリプト)

ねらい: インタラクティブシェルとスクリプトの実行の違いを再確認し,print()の使い方を練習する.

課題B04_2の処理内容を,b04_3.py という名前のスクリプトファイルに記述し,シェルから実行しなさい.b04_3.pyと実行結果のスクリーンショットb04_3.pngを提出しなさい.

ただし,表示は数値やリストをただ表示するのではなく,

変数名 = 値

と言う形式で表示するようにしなさい.

例:

required = ['プログラミング実習I', '人工知能基礎’, ...]
n_name = 4

B04_4 (スクリプト)

ねらい: リストの操作に慣れる.pythonの文法について自分で調べる練習をする.

以下の手順を b04_4.py という名前のスクリプトファイルに記述し,シェルから実行しなさい. b04_4.py と実行結果のスクリーンショット b04_4.png を提出しなさい.

  1. 準備: 「リストの要素の中に含まれている数(要素ごとの出現回数)をカウントする」方法をネットなどで検索して調査する.

  2. まず,円周率の値を変数 p に代入する.Pythonでは円周率を以下のようにして呼び出せる.

    import math
    math.pi
    
  3. 変数pを文字列型に変換して変数p_strに代入する.変換にはstr()を用いる.

  4. p_strを表示する.

  5. p_strの文字数を表示する.

  6. 変数p_strから,各文字を要素にしたリストを生成し,変数 list_p に代入する. 文字列の各文字を要素にしたリストを生成するには list(文字列の変数名)を用いる.

  7. list_pのリストの要素を昇順に並べ替える.

  8. list_pを表示する.

  9. list_pの最初の要素を削除する.

  10. 自分の学籍番号の下四桁を変数my_numberに代入する.

  11. 変数my_numberを文字列型に変換して変数my_number_strに代入する.変換にはstr()を用いる.

  12. 変数my_number_strの各文字を要素にしたリストを生成し,リスト型変数 list_my_number に代入する. 文字列の各文字を要素にしたリストを生成するには list(文字列の変数名)を用いる.

  13. list_pにlist_my_numberの要素を追加する(list_pを書き換える).

  14. list_pを昇順に並べ替える.

  15. list_pの最も小さい要素の値を表示する.

  16. list_pの最も小さい要素のリストにおける出現回数(その要素がリスト全体で何個含まれているか)をカウントし,その出現回数を表示する.