🔙
🔝

【paiza問題集 解説】
Dランク・スキルチェック見本問題セット

掛け算

掛け算

    a = int(input())
    b = int(input())
    print(a * b)
    

    入力が2行か、横並びになっているかで書き方が大きく変わります。なるべく多くの書き方を覚えてサクッと入力を済ませられるようになっておきましょう。😉

足し算

足し算

    a, b = map(int, input().split())
    print(a + b)
    

    今度は横並びになっています。分割後の値の個数にだけ気をつければ、全部まる暗記です。

一番小さい値

一番小さい値

    この問題は、入力方法によって書き方が大きく変わります。

  • 例1

  • n_1 = int(input())
    n_2 = int(input())
    n_3 = int(input())
    n_4 = int(input())
    n_5 = int(input())
    
    print(min(n_1, n_2, n_3, n_4, n_5))
    

    値の中から最小値を求めるのに min() 関数を使います。 () の中に変数を書いてそれぞれカンマで区切れば、あとは関数が最も小さな数を見つけてその値を返してくれます。

    最大値を求める時は max() を使います。セットで覚えておきましょう。

  • 例2

  • n = [int(input()) for _ in range(5)]
    print(min(n))
    

    もう1つの入力方法です。

    複数行の整数をリストで入力する - 内包表記

    流れを見て理解してみましょう。全然意味がわからなったとしても、この書き方を暗記してしまえば不都合は無いでしょう。暗記しきれなければ都度見に来てください。😊


    リストという型にまとめると、変数1つ書くだけで済みます。リストはCランクで学んで使いますので、今はまだわからなくても大丈夫!

  • 例3

  • n_1 = int(input())
    n_2 = int(input())
    n_3 = int(input())
    n_4 = int(input())
    n_5 = int(input())
    
    min_ = 127
    if n_1 < min_:
        min_ = n_1
    if n_2 < min_:
        min_ = n_2
    if n_3 < min_:
        min_ = n_3
    if n_4 < min_:
        min_ = n_4
    if n_5 < min_:
        min_ = n_5
    
    print(min_)
    

    min() 関数の存在を知らなくても、リストとかわからなくても、 文さえわかれば解決できる!しかしこれ、比較数が100万個あったら途方に暮れてしまうだろうということは容易に想像つくでしょう。そんな時のためにも min() 関数をマスターしてね。😉

    min_ の初期値を 127 にしてあります。条件を見ると 100以下の数となっていますので、100以上の数でしたら問題ありません。上限が変わったときのためにもなるべく大きい数に設定しておくと良いです。


    『なるべく大きい数と言われても、上限がどのくらいかよくわからないし……』


    そんなあなたに float('inf') をオススメします。これは無限という意味です。決まった上限がありません。数値の代わりに、

    min_ = float('inf')
    

    と書くだけです。上限設定に悩むことから開放されます。


    反対に最大値を求める場合は、下限をなるべく小さな数で初期化します。

    max_ = -float('inf')
    

    意識していないと無限とマイナス無限を書き間違えます。😅 注意!

  • 例4

  • min_ = float('inf')
    for _ in range(5):
        n = int(input())
        if n < min_:
            min_ = n
    
    print(min_)
    

    これが文と文を組み合わせた基本中の基本の書き方です。入力した n が現在の最小値 min_ よりも小さかったら、最小値を n に書き換えます。


    文のところは次のように書くこともできます。

    min_ = float('inf')
    for _ in range(5):
        n = int(input())
        min_ = min(min_, n) # ←ココ
    
    print(min_)
    

    min_n の小さい方を min_ に代入しています。こうすると一行で書けますし、比較する値が後から増減することになったとしても書き換えが簡単です。

文字の一致

文字の一致

    a = input()
    b = input()
    
    if a == b:
        print('OK')
    else:
        print('NG')
    

    今後、学習を進めていくと 文を使わない条件分岐の書き方も紹介することがあります。しかしどんな方法を選んだとしても条件分岐には違いありませんので、なるべく早く、基礎の基礎である 文を使いこなせるようになっておきましょう。 文は永久に不滅です!