トップページ -> Python入門 基礎編 -> 複雑な計算をしよう

複雑な計算をしよう

今回は四則演算より複雑な計算を行ってみたいと思います.
ここで出てくる演算子(*1)はプログラミングにおいて非常によく使われます.
前回と同じ手順でJupyter Notebookを開きましょう. 今回のファイル名は「section2」としてください.
(*1) + - * / のような演算に使う記号のことです.

さまざまな演算子

  1. べき乗 x^y
  2. べき乗の計算には ** を使います.
    2^10 を計算してみましょう.
    
    2**10
    
  3. 剰余演算 ~余りを求める~
  4. 剰余演算と言うと難しく聞こえますが,要は余りを求める計算です.
    10を3で割ったら1余ります.これをPythonで確かめましょう.
    剰余演算には % を使います.
    
    10%3
    
  5. 整数除算 ~商を求める~
  6. これも整数除算というと難しく聞こえますが,商を求める計算です.
    10は3で割ると商が3で余りは1となります.
    整数除算には // を使います.
    
    10//3
    

実際のプログラム

これらの演算子を使うことで複雑な計算をPythonによって行うことができるようになります.
試しに難しそうな数式を計算させてみましょう.今回は整数除算と剰余演算は使いませんよ.
f(x) = (3x^3 + 6x^2 + 13x - 18)/(x^2-3x) とします.
x = 2 とした場合のf(1)をPythonに求めてもらいましょう.(暗算できますか…?)


x = 2
(3*x**3 + 6*x**2 + 13*x - 18)/(x**2 - 3*x)
        
答えは-28みたいですね.実際に計算してみると合っています.

演習問題

簡単な計算に関していくつかの演習問題を解いてみましょう.
計算が苦手なあなたも安心してください.今回はコンピュータがあなたの味方です.正しいプログラムを書いて答えを教えてもらいましょう.
エラーが出てしまった場合は,解答例を見てください.
次のページで説明しますが,一つのセルで複数の計算を行うと結果が表示されないのでそれぞれ別々のセルで計算させてください.

  1. f(x) = 3x^2 + 3^x + 17 とします. f(3) を求めてみましょう.
  2. f(3) を 7 で割ったときの余りを求めましょう.
  3. f(3) を 7 で割ったときの商を求めましょう.
  4. 7*(商) + (余り) を計算し f(3) と一致することを確認しましょう.

演習問題の解答例

では,答えのプログラムを見てみましょう.

  1. 答え:71
    
    x = 3
    3*x**2 + 3*x + 17
    
  2. 答え:1
    
    71%7
    
  3. 答え:10
    
    71//7
    
  4. 解説:今回の計算結果の71と問1の計算結果71は一致します.
    
    7*10+1
    
答えにたどり着けましたか?自分で書いてみると意外と難しいものです. 誤答例として以下のような書き方をしてしまった人がいるかもしれませんね.

x = 3
3x**2 + 3**x + 17
実際の数式を見ながら入力すると * を落としてしまうことがよくあります. この場合,SyntaxError(文法ミス)としてエラーが返ってきます.

今回はよりPythonを使って複雑な計算を行いました. 次回は画面に文字を表示する方法について解説します.

<- 前へ戻る 【目次に戻る】 次へ進む ->