コンピュータ演習II 第03回 ドリル(授業中に解いて提出)¶
この問題集は、授業中に、解説を聞きながら自分の手を動かして解く 練習です。第03回の教材で学んだ 条件分岐(if / if...else / if...elif...else)と乱数・入力 を練習します。
進め方は次のとおりです。
- 配布の 解答用テンプレート
2xBxxxxx_03_drill.ipynbを Colab で開き、各問題の答えを書いて実行してください。 - 各問に 入力例と出力例 を載せています。イメージがつかめないときは、まず入力例のとおりに動かしてから、自分の値に変えてください。
- できたら、テンプレートを .py 形式でダウンロードして提出 してください。答え合わせはしません。自分で値を決めて、思ったとおりに動くかを確かめることが目的です。
- わからなくなったら、第03回の教材を見返してかまいません。答えを写すのではなく、書き方を思い出して自分で書く ことが大切です。
なお、この演習では Colab のコード生成(生成AI の補完)は使わないでください。自分でプログラムを書いて、読めるようになることが目的です。
1. if 文の基本¶
問題 1: 大きい数のときだけ知らせる¶
好きな整数を変数 x に入れてください。x が 100 以上のときだけ big と出力してください(else は使いません。100 未満なら何も出力されません)。
入力例:
x = 250
出力例(入力例のとき):
big
これは例です。自分で決めた値で作ってかまいません(その場合、出力は例とは変わります)。
問題 2: 偶数か奇数か¶
好きな整数を変数 x に入れてください。x が偶数なら even、奇数なら odd と出力してください(if...else)。偶数の判定には % を使います。
入力例:
x = 37
出力例(入力例のとき):
odd
これは例です。自分で決めた値で作ってかまいません(その場合、出力は例とは変わります)。
2. 3 つ以上に分ける¶
問題 3: 正・ゼロ・負¶
好きな整数を変数 x に入れてください。x が正なら plus、0 なら zero、負なら minus と出力してください(if...elif...else)。
入力例:
x = -8
出力例(入力例のとき):
minus
これは例です。自分で決めた値で作ってかまいません(その場合、出力は例とは変わります)。
問題 4: 学籍番号で3 分類¶
変数 sid に 自分の学籍番号後半5 桁 を入れてください。sid % 3(3 で割った余り)が 0 なら A、1 なら B、それ以外なら C と出力してください。
入力例:
sid = 61250
出力例(入力例のとき):
C
これは例です。自分で決めた値で作ってかまいません(その場合、出力は例とは変わります)。
3. 乱数と入力¶
問題 5: サイコロで勝負¶
random.randint(1, 6) でサイコロの目を変数 dice に作り、dice を出力してから、4 以上なら win、そうでなければ lose と出力してください。何回か実行して、結果が変わることを確かめましょう。
入力例:
(乱数なので入力はありません)
出力例(dice が 5 になったとき):
5
win
実行のたびに 1〜6 のどれかになり、出力も変わります。
考えるポイント: 乱数を使うには、先頭に import random が必要です。
問題 6: 入力した数を2 倍する¶
input() で数を受け取り、整数に変換してから 2 倍した値を出力してください。
入力例(実行時に入力する値):
21
出力例(入力例のとき):
42
これは例です。実行するたびに、いろいろな数を入れて確かめてください。
考えるポイント: int() への変換を忘れると、21 の2 倍が 2121 になったり、エラーになったりします。わざと int() を外して実行し、どうなるかも見ておきましょう(教材5 章のエラー体験です)。
まとめ¶
if 条件:のあとの インデントした行 だけが、条件が成り立つときに実行される。- 2 つに分けるなら
if...else、3 つ以上ならif...elif...else。上から順に、最初に成り立った所だけ が実行される。 random.randint(a, b)はa〜bの整数の乱数(import randomを忘れずに)。input()の結果は 文字列。数として使うときはint()で変換する。
できたらテンプレートを .py 形式でダウンロードして、Canvas に提出してください。