プログラム言語 Python

Python のインストール

Python はプログラミング言語

  • 世の中には数多くのプログラミング言語があります。
    • C言語 ... 単に C とも呼ぶ. コンピュータのオペレーティングシステムの記述に 使われている. 殆どの UNIX 系システムではアプリケーションプログラムの コンパイルのために ヘッダファイル (/usr/include) と ライブラリ (/usr/lib) を提供している.
    • Pascal ... アルゴリズムの記述に優れていると言われる. 普通は Pascal の 処理系は別売りで, システムとの低レベルでのインターフェース は苦手らしい.
    • FORTRAN ... 科学計算に昔から使われてきた. ゆえに, プログラミングスタイルが 古臭くなっているが, なかなか無くならない.
    • Python ... 上の3つのコンパイラー言語と違ってインタプリタである. このため, 作成したプログラムを即実行できる. ただし, 実行速度は 遅いので, 何度も繰り返し実行するなら不適当である. (Python はパイソンと読む)

Python を起動して計算

  • >>> というのが出ていますが、これが プロンプト です (入力を "促す")
    >>> 1 + 1
    2
    >>> 3 - 1
    2
    

Python を起動して計算(続)

  • 掛け算には * (アスタリスク) 割り算には / (スラッシュ) を使うことに注意してください。
    >>> 2 * 1
    2
    >>> 4 / 2
    2
    >>>
    

ちょっとした癖

  • 自分の好きな数を使って計算の練習をしてみよう。
    >>> 5 / 2
    2
    
  • あれ?なんかおかしいですね。これは、整数の範囲で計算しているからです。小数を使うことを明示すると、小数(浮動小数ともいう)で結果を出してくれます。

ちょっとした癖の修正

>>> 5. / 2
2.5
  • 注:浮動とは、小数点の位置が変わることを言う。
  • 2.8e7 = 2.8 x 107
  • 5e-3 = 5.0 x 10-3

変数を使う

  • 消費税込みの金額を計算することを考えてみましょう。これは、品物の金額に 1.05 を掛ければよいので、
    >>> 300 * 1.05
    315.0
    

変数を使う(続)

  • この 1.05 をどこかに保存しておくと何度も使えます。保存する場所に名前を付けたものが変数です。
    >>> a = 1.05
    >>> 500 * a
    525.0
    >>> 600 * a
    630.0
    

数学的関数

  • sin, cos, sqrt などの数学的関数を使うには,関数を import (輸入)する必要があります。 とりあえずは、まじないのようなものと思ってください。
    >>> from math import *
    

数学的関数(続き)

  • 数学的関数には以下のようなものがあります。
    • sin(x) ... sin x (x はラジアン単位)
    • cos(x) ... cos x
    • tan(x) ... tan x
    • atan(x) ... arctan x (tan-1 x)
    • pi ... π (円周率)
    • e ... e (自然対数の底)
    • log(x) ... log x (自然対数)
    • log10(x) ... log10 x (常用対数)
    • sqrt(x) ... √x (2乗根)

>>> from math import *
>>> pi
3.1415926535897931
>>> cos(pi/4)
0.70710678118654757
>>> sin(pi/4)
0.70710678118654746
>>> sqrt(2)
1.4142135623730951

例題

  • lim(x→0) sin(x)/x は 1.0 である。
  • しかし,sin(0.0)/0.0 を計算することはできない。
  • x に小さい値を入れて計算してみて,1.0 に近づいていく様子を見てみよう。
  • どのくらいの値で答えが 1.0 になっただろうか?

例題(解)

>>> from math import *
>>> x = 1.0
>>> sin(x)/x
0.8414709848078965
>>> x = 0.1
>>> sin(x)/x
0.99833416646828155
>>> x = 0.01
>>> sin(x)/x
0.99998333341666645

プログラムを作る

  • 何度も計算をさせるには、プログラムを作成しておきます。
  • プログラムとは、計算機に仕事をさせる手順を書いたものです。
  • プログラムをファイルに書いておくことで、
    • 間違いに気づいたとき、修正して最初からやり直すこと
    • 同じ仕事を何度でも実行させること
    • 仕事の内容と自分の頭の中を整理すること
  • などができます。

フォルダの利用

  • プログラムファイルなどを入れておく場所を確保
  • 「ドキュメント」の中に「新しいフォルダ」を作成
  • 名前を python にしておく

プログラムファイルの作成

  • python フォルダの中で、右クリック -> 新規作成 -> テキストドキュメント
  • 名前を quad.py に変更
    • 拡張子が表示される設定になっていることを確認しておくこと
  • quad.py を右クリック -> 「Edit with IDLE」を選ぶ
  • quad.py のウィンドウでプログラムを作成する

二次方程式の解を求めるプログラム

  • ax2 + bx + c = 0 を解く
    # -*- coding: utf-8 -*-
    # 二次方程式
    from math import sqrt
     
    print u'二次方程式の係数を入れてください'
    a = input('a? ')
    b = input('b? ')
    c = input('c? ')
    d = b * b - 4 * a * c
    if a == 0:
        if b == 0:
            print u'解がありません'
        else:
            print u'a = 0 なので一次方程式です'
            print u'解は', -float(c)/b, u'です'
    elif d < 0:
        print u'実数解はありません'
    elif d == 0:
        print u'解は', -float(b)/(2*a), u'です'
    else:
        e = sqrt(d)
        x1 = (-b + e)/(2*a)
        x2 = (-b - e)/(2*a)
        print u'解は', x1, u'と', x2, u'です'
    

注意

  • プログラムのリストは こちら にもあります
  • 日本語文字(全角)と英語の文字(半角)の違いに注意してください
  • if, elif, else の次の行は (英語の)空白4個で字下げ(インデント)しています
  • 条件にあったとき、インデントされている部分が実行されます

注意(続き)

  • == (等号2つ) は、その両辺が等しいかどうかを判定します
  • = (等号1つ) は、右辺の計算結果を左辺の変数に代入します
  • 日本語の入った文字列は u'日本語' のように u を付けます

プログラムを実行する

  • quad.py のウィンドウで Run -> Run Module を選ぶと、Python Shell の方に、
    >>> 
    二次方程式の係数を入れてください
    a? 
    
  • のように出てくるので、順に a, b, c の値を入れると、結果が出てくる

プログラムを実行する(続)

>>> 
二次方程式の係数を入れてください
a? 1
b? -3
c? 2
解は 2.0 と 1.0 です
>>> 
  • 他の係数についても試してみてください。