SSブログ

日本語スクリプト言語wythonの最初の例 [wython]

 四の五の言わず、さっさと動くものを作れ、という心の声が聞こえてきそうなので、昨日、いくつかの文法を処理できる最初のwythonを作った。

 実際のスクリプトはこんな感じだ。

文字列「日本語」を、文字列型変数languageに代入する。

文字列「languageをprintする。」を表示する。

123を表示する。

整数型変数 x に5を代入する。
整数型変数 y に8を代入する。

x * 2 + y を計算して、整数型変数zに代入する。

「z = x * 2 + y」と表示する。

「あなたの名前を入力して下さい。」と質問して、その答えを文字列型変数nameに代入する。

「nameさん、こんちには」と表示する。

「体重を入力して下さい。」と質問して、その答えを文字列型変数weightに代入する。
文字列型のweightを実数型に直す。

「身長を入力して下さい。」と質問し、答えを文字列型変数heightに代入する。
文字列型のheightを実数型に直す。

height / 100 * height / 100 * 22 を計算して、実数型変数standard_weightに入れる。
(weight - standard_weight) / standard_weight * 100を計算して、実数型変数bmiに入れる。
「あなたの肥満度は、bmiです。」と表示する。

で、これをwyhtonにかけて変換し、実行してみた結果はこうだ。

日本語をprintする。
123
18 = 5 * 2 + 8
あなたの名前を入力して下さい。福田
福田さん、こんちには
体重を入力して下さい。68.2
身長を入力して下さい。173.0
あなたの肥満度は、3.578469です。

体重や身長は架空の数字なので、肥満度も僕のものではないことをお断りしておこう。

 wythonのスクリプトをPythonに変換した結果のコードは次のようなものになっている。

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

language = "日本語" 
print "%sをprintする。" % (language)
print 123
x = 5
y = 8
z = x * 2 + y 
print "%d = %d * 2 + %d" % (z, x, y)
name = raw_input("あなたの名前を入力して下さい。" )
print "%sさん、こんちには" % (name)
weight = raw_input("体重を入力して下さい。" )
weight = float(weight)
height = raw_input("身長を入力して下さい。" )
height = float(height)
standard_weight = height / 100 * height / 100 * 22
bmi = (weight - standard_weight) / standard_weight * 100
print "あなたの肥満度は、%fです。" % (bmi)

まだ制御構造はないが、これだけでも、そこそこのプログラムが組める。

現状での仕様は、次のようなものだ。

  1. 変数名はPythonと同様、英字に始まり、英数字または下線が0個以上つづくもので、その変数名の前に型を指定する。
  2. 型は、文字列型、整数型、実数型、文字型のいずれかである。
  3. 文字列リテラルは、全角の'「'と'」'で囲む。その文字列の中に変数名を使うことが出来る。
  4. 式は現在のところ、そのまま書く。ただし、文字列リテラルの演算はまだサポートしていない。文字列を連結したいのであれば、それぞれを変数に代入し、その変数同士を足すこと。
  5. サポートしている文は、「表示する。」、「代入する。(入れる、とも書ける)」のみ。
  6. サポートしている組み込み関数は、「質問し(=raw_input())」、型変換(整数型へ(=int())、文字列型へ(=str())、実数型へ(=float())の変換のみで、リテラルではなく、変数を引数にとり、その同じ変数に戻す。
まだ、エラー処理は全くしていないし、単に標準出力にPythonコードを書き出すだけであるが、しばらくはこのままの形で開発を継続したい。


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

nice! 0

コメント 0

コメントを書く

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

トラックバック 0

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