四則演算+α

練習問題

次の計算結果を表示させるプログラムを書きなさい
  • 3+4
  • 4-3
  • 3×4
  • 3÷4
  • 4÷3の余り
  • 3の4乗
  • 3の平方根
  • ここで学ぶこと

  • 四則演算の方法
  • 累乗、平方根の計算方法
  • 基本的な計算は超簡単

    解説するまでもなく、

    足し算

    1 + 2

    引き算

    2 - 1

    掛け算

    1 * 2

    割り算

    2 / 1

    で実行するだけです。

    print() なども必要ありません。

    累乗

    累乗は、このようにして求められます。

    2 ** 3
    8

    平方根

    累乗は掛け算二つでできましたが、平方根はmathモジュールが必要となります。

    import math
    math.sqrt(100)
    10.0

    import mathでmathモジュールを取り込みます。
    Anacondaには最初から入っていると思います。

    解答

    (数字と記号の間はスペースを入れなくても良い)
    3 + 4
    4-3
    3*4
    3/4
    4%3
    3**4
    import math
    math.sqrt(3)
    7
    1
    12
    0.75
    1
    81
    1.7320508075688772
    

    参考にしたサイト


    まずはmathをimportしますと。

    >>> import math
    円周率とか、高校で習ったきりですが(文系なもんでw)自然対数の底eなんかが用意されているんですね。

    加算(In-Place Operations)の方法

    練習問題

    x = 2

    の時、print(x)で8を出力するようにプログラムを書きなさい。

    ここで学ぶこと

  • 書き換え
  • 定義そのものに加算する方法
  • 後に書いた定義が上書きされる

    Pythonでは、というかおそらくほとんどのプログラミングコードでは、後に書かれた方が優先されて定義される。
    したがって、もっとも単純なやり方はxそのものの定義を変えてしまうことである。

    x = 2
    x = 8

    こうしてしまえば、もうxは8以外の何者でもなくなる。

    直接加算

    これを応用して、以下のように記述することができる。

    x = 2
    x = x + 6

    左辺の新しいxは、右辺の古いxに6を足したもの」という意味になる。

    さらに、便利な記法が存在する。

    x = 2
    x += 6

    これは上のものと同義である。

    はじめは慣れずに意味を汲み取るのに時間がかかるが、慣れるとかなり使いやすい構文である。

    これは、足し算だけでなく、他の四則演算にも応用できる。

    例えば、

    x = 2
    x *= 5
    print(x)
    10
    x = 2
    x **= 4
    print(x)
    16
    x = 10
    x %= 3
    print(x)
    1

    といった感じになる。

    解答

    単純な書き換え
    x = 2
    x = 8
    print(x)

    または、

    足し算

    x = 2
    x += 6
    print(x)

    または、

    掛け算

    x = 2
    x *= 4
    print(x)

    または、

    3乗

    x = 2
    x **= 3
    print(x)

    いずれも、

    8

    input文の書き方

    練習問題

    inputを使い、次の結果が得られるプログラムを書きなさい。
    記入:
    記入:ひとりPython修練場

    ここで学ぶこと

    inputで文字列 を入力する

    input

    input文は次のように書きます。

    input()

    非常に簡単です。

    これを実行すると、テキスト入力ができるスペースが現れます。

    [入力欄]

    そこに好きな文字列 を入力すれば、入力した文字列 が結果として出力されます。

    頭文字の指定

    ただのinputだけでは味気なく、例えば、入力欄の手前に「入力して下さい:」と表現できたらいいですよね。

    こう書きます。

    inupt("入力してください:")
    入力してください:[入力欄]

    非常にわかりやすいですね。

    これで問題は解けました。

    解答

    input("記入:")
    記入:[ひとりPython修練場]
    記入:ひとりPython修練場

    Boolean型のTrue,Falseについて

    練習問題

    xに好きな数字を入力させ、x=3の時に正解とするプログラムを書きなさい。

    ここで学ぶこと

    Boolean型のTrue、Falseの判定

    真偽値の判定

    今回は、Boolean型という「真」であるか、「偽」であるかの判定を学びます。


    ブーリアン型(ブーリアンがた、Boolean datatype)は、真理値の「真 = true」と「偽 = false」という2値をとるデータ型である。ブーリアン、ブール型、論理型(logical datatype)などともいう。2種類の値を持つ列挙型とも、2進で1ケタすなわち1ビットの整数型とも、見ることもできる。

    False

    試しに以下を実行してみてください。

    2 == 3
    False

    と実行結果が得られたはずです。

    2は3じゃありませんよと教えてくれたのです。

    こちらも同様に、Falseがかえってきます。

    x=2
    x==3
    x=2
    x=3

    と書いてしますと、xの定義が上書きされたことになります。
    「同義」を示したい時は、「==」を使います。

    True

    同様に、

    x="ひとりぼっち"
    x=="ひとりぼっち"

    では、Trueがかえってきます。

    このように、「値が正しいかどうか」を判断してくれるのが、True、Flaseです。

    問題のヒント

    練習問題では、xに好きな値を入れさせるとあります。

    これにはinputを用います。

    input文については下記を参照


    練習問題 inputを使い、次の結果が得られるプログラムを書きなさい。 inputで文字列 を入力する input input文は次のように書きます。 非常に簡単です。 これを実行すると、テキスト入力ができるスペースが現れます。 そこに好きな文字列 を入力すれば、入力した文字列 が結果として出力され
    x=input("値を入力してください")

    とすれば、xにすきな値を代入することができます。

    次に、if文 を使います。

    if x==3:
        print(”正解”)
    else:
        print("Bool, shit!")

    これで、xが3だった時、「True」と判断され、「正解」が出力されることになります。
    else文では、それ以外の場合に「Bool,shit!」と表示されるように指定しています。

    これで簡単なクイズ問題のプログラムを作ることができるようになりましたね。

    解答

    x=input("値を入力してください")
    if x==3:
        print("正解")
    else:
        print("Bool, shit!")

    おまけ問題

    47都道府県の中で、「府」がつく県を当てさせるプログラムを書きなさい

    while文、for文を使って、0~100までの偶数を指定する

    while文、for文を使って、0~100までの偶数を指定する

    問題

    0〜100の数字を並べ、偶数の隣に「:偶数」と表示させるプログラムを書きなさい。
    0
    1
    2:偶数
    3
    …
    98:偶数
    99
    100

    ここで学ぶこと

    ・while文の基礎
    ・for文の基礎
    if文 の基礎

    While文

    while文と、print() を使って、0~100を出力してみます。

    i = 0 #初期値を0として設定
    while i <= 100: #iが100以下の時、
        print(i) #iを書き出し、
        i+=1 #iに1を加える(i=i+1と同義)
        #これをiが100になるまで繰りかえす&#91;/python&#93;
    
    &#91;python title="実行結果"&#93;
    1
    2
    3
    …
    98
    99
    100&#91;/python&#93;
    
    と出てきましたね。
    意外と簡単です。
    
    あとは<strong>「偶数の時、:偶数とプリントする」</strong>という条件を指定してあげればよいのです。
    
    <h1>if文 </h1>
    
    条件付けの場合、if文 を書くことになります。
    基本
    
    if x == y:
        print(z)
    else:
        print(i)

    上の基本は、もしxがyと同義ならzを出力し、そうでないならばiを出力するという文になっています。

    ①if文 のあとには必ず「:」が必要です。
    ②「:」の次の行はインデント(tab)を置いて記述する必要があります。

    これにしたがって偶数を定義します。

    i = 0
    while i <= 100:
        if i % 2 == 0: #もし、iを2で割った余りが0なら
            print(str(i)+":偶数") #文字iと「:偶数」を合わせて出力
        else: #もし上の条件じゃないなら、
            print(i) #iを出力する
        i+=1 #これは全ての条件で発動&#91;/python&#93;
    
    &#91;python title="実行結果"&#93;0
    1
    2:偶数
    3
    …
    98:偶数
    99
    100&#91;/python&#93;
    
    と出てきたはずです。<br />
    ここで、<strong>i % 2 == 0</strong>というのは、「iを2で割った余りが0」という表現になります。
    つまり、奇数を出したければ、<strong>i % 2 == 1</strong>とすれば良いわけですね。
    
    elseは指定条件かでない場合の記述になります。ここも「:」の打ち忘れと「インデント」に注意しましょう。
    
    <h1>for文</h1>
    
    while文の代わりに、for文で表現することもできます。こちらの方が、よりシンプルです。
    
    基本
    
    for x in y:
        print(z)

    意味は、「xがyの条件下にある時、それぞれzを出力」 ということになります。
    これを元に0~100を洗い出します。

    for i in range(0,101):
        print(i)
    0
    1
    2
    3
    …
    98
    99
    100

    と出てきましたね。
    このとき、range(0,101)は「0から100までの範囲で」という意味になります。
    i+=1を記述する必要がないので、楽ッチャラクで。

    ここにif文 を追記します。

    for i in range(0,101):
        if i % 2 == 0:
            print(str(i)+":偶数")
        else:
            print(i)
    0
    1
    2:偶数
    3
    …
    98:偶数
    99
    100

    となりましたね。

    これで、完成です。

    解答