SSブログ

wythonに取り敢えず関数定義を実装 [wython]

関数を定義できるようにすると、その関数内でローカルな変数を使えるようにする必要があるし、引数もそのローカルな変数になる。それをインプリメントしないと本当は使えないんだが、とりあえず、関数を定義し、それを呼び出すことができるようにした。

たとえば、

華氏温度から摂氏温度を計算する関数f2c(f)を定義する。
  (f - 32) * 5.0 / 9.0を計算して、その結果を返す。

指定された数n回だけ*を表示する関数star(n)を定義する。
  nが0より大きい間、
    「*」を改行せずに表示する。
    nから1を引く。
  改行する。

##メインのプログラム

華氏温度を表す整数型変数fに-20を代入する。
摂氏温度を表す実数型変数cに0を代入する。
「華氏 摂氏」と表示する。
fが100よりも小さい間、
  関数f2c(f)を呼び出し、その結果をcに代入する。
  「f  c」を表示する。
  fに20を足す。

整数型変数iに0を代入する。
1から10までiを変化させながら、
  「i:」を改行せずに表示する。
  関数star(i)を呼び出す。

を変換すると、

#!/usr/bin/env python
# -*- coding:euc-jp -*-

def f2c(f):
    return (f - 32) * 5.0 / 9.0

def star(n):
    while n > 0:
        print "*" ,
        n -= 1
    print

# ##メインのプログラム

f = -20
c = 0
print "華氏  摂氏" 
while f < 100:
    c = f2c(f)
    print "%d    %f" % (f, c)
    f += 20

i = 0
for i in range(1, (10 + 1)):
    print "%d:" % (i),
    star(i)

となる。実行すると、

華氏  摂氏
-20    -28.888889
0    -17.777778
20    -6.666667
40    4.444444
60    15.555556
80    26.666667
1: *
2: * *
3: * * *
4: * * * *
5: * * * * *
6: * * * * * *
7: * * * * * * *
8: * * * * * * * *
9: * * * * * * * * *
10: * * * * * * * * * *

となる。今回の仕様は

  1. 関数定義は、「関数〜を定義する。」をキーワードに行う。〜には、関数名と引数をPythonと同じように書く。
  2. 関数呼び出しは、戻り値がない場合は、「関数〜を呼び出す。」とする。〜には上と同様の関数名と引数を指定する。
  3. 関数の戻り値を使う場合には、「関数〜を呼び出して、その結果を変数〜に代入する。」と使う。ただし、これはそもそも代入文のままなので、関数とは関係なしに機能する。
  4. 関数から戻り値を返すには、「〜を返す。」とする。〜から日本語を削除したものにreturnを前置きした文に変換する。

といったところだ。上にも言ったように、ローカル変数を使えるようにするのは次回回し。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。