プログラミング入門II 演習課題 2024.04.24

Back to text page


  1. 逆順表示

    3桁の正の整数を乱数により10個発生させて表示し,次に逆順に表示するプログラムを作成しましょう.

    Original: 295 389 972 400 873 211 259 641 687 887
    Reversed: 887 687 641 259 211 873 400 972 389 295
    

    insert メソッドを使用してリストを作る方法と,None を使う方法があります.

    逆順に出力するのは,for 文とインデックスの組み合わせでできますし,教科書 p.181 の reversed 関数でもできます.
    解答例1

    解答例2

    解答例3

  2. ソートして表示

    前問と同じように10個の3桁の乱数を表示し,次に数値の小さい順に表示するプログラムを作成しましょう.

    Original: 872 495 413 232 510 374 297 396 931 364
    Sorted:   232 297 364 374 396 413 495 510 872 931
    

    教科書 p.72 で sorted 関数を扱いました.
    解答例

  3. 重複判定

    0 から 9 までの数字のどれかをランダムに5個発生させ,それらの数字に重複があるかどうかを判定するプログラムを作成しましょう.

    5 0 8 0 1 
    Elements overlapped
    
    重複あり

    3 9 0 1 8 
    No overlap in elements
    
    重複なし

    in 演算子を使用します.また,スライス式を使って一致するかどうかを順に見ていきます.

    解答例

  4. サイコロの目の頻度

    サイコロを100回振ることを乱数によりシミュレートし,それぞれの目が何回出たかを数えるプログラムを作成しましょう.

    4 2 6 6 4 1 2 2 2 3 5 5 5 1 1 4 6 1 2 5 5 1 6 3 6 2 1 2 6 3 5 3 3 4 1 5 6 6 6 3 6 4 3 4 5 1 5 5 2 2 4 2 4 2 4 1 6 3 2 4 3 3 2 1 6 5 4 5 3 1 4 3 4 4 3 4 2 5 6 5 3 2 1 3 1 1 5 4 5 5 5 5 2 2 5 5 6 6 4 2 
    
     1  2  3  4  5  6 
    14 18 15 17 21 15
    

    教科書 p.173 にある count メソッドを使用して実現することもできますし,つかわない方法もあります.

    解答例

    解答例

  5. じゃんけん

    じゃんけんをシミュレートするプログラムを作りましょう.以下のリストを使用すると,if 文を使用しないで出来ますので,やり方を考えてみましょう.

    hand = ['Gu', 'Choki', 'Pa']
    result = ['Aiko', 'Winner is you!', 'Winner is computer!']
    

    You: Gu
    Computer: Gu
    Aiko
    
    You: Gu
    Computer: Choki
    Winner is you!
    

    剰余を使うことで if が不要になります.また,Python では,-1 を 3 で割った余りは 2 ですので簡単に処理が書けます.

    解答例

  6. トランプ

    0 から 51 までの数のどれか一つを乱数により発生させ,それに対応するトランプのカードを表示するプログラムを作ります.ここでも以下のリストを使用することで if 文を使用しないで作れます.

    suite = ['Spade', 'Diamond', 'Heart', 'Club']
    mark = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K'] 
    

    数字とトランプの対応表
    0123456789101112
    SpadeA2345678910JQK
    13141516171819202122232425
    DiamondA2345678910JQK
    26272829303132333435363738
    HeartA2345678910JQK
    39404142434445464748495051
    ClubA2345678910JQK

    Random number: 39
    A of Club
    

    解答例


Back to text page