SujiCalc / 第8章
08プログラム
if・for・while・def が Python と同じ書き方で使えます。
繰り返しの計算や、自分用の関数を書けます。文法は Python に合わせてあります。 見出し行の終わりは :、中身は字下げ(タブは4つ分)です。
条件で分ける
金額 = 12,00012,000if 金額 >= 10,000:金額 × 0.910,800else:金額if elif else が使えます。
繰り返す
合計 = 00for i in range(1, 6):合計 = 合計 + i15while と、途中で抜ける break、次へ飛ばす continue も使えます。表を回すこともできます。
価格 = [4,800, 12,000, 3,200][4,800, 12,000, 3,200]for p in 価格:p × 1.13,520自分の関数を作る
def 税込(x):return x × 1.1税込(4,800)5,280作った関数はほかのシートからも呼べます。 いちばん外側の def だけが借りられます(名前を付けた値は借りません)。
比べる・つなぐ
| 書き方 | 意味 |
|---|---|
== != | 等しい・等しくない |
< <= > >= | 大小 |
and or not | かつ・または・でない |
True False | 真・偽 |
真偽は 1 と 0 の数として持っています。電卓なので、そのまま足せます。
比較は、答えの表示と同じように誤差を払ってから比べます。0.1 + 0.2 == 0.3 は真になります。単位はそろえてから比べ、種類が違うものは「等しくない」と判断します。
行の答えの出かた
- 見出しの行(
ifforwhiledef)には答えを出しません - ブロックの中の行には、最後の周回の値が残ります
- ブロックの中の行は
sumtotalに入れません(周回のぶん足されてしまうため) - 関数の中の変数は、その呼び出しの中だけで生きます
止まらない計算はしない
打つたびに全体を計算し直すため、繰り返しには上限があります(20万ステップ、0.15秒)。超えると打ち切ります。
字下げ
改行すると、前の行と同じ深さから始まります。: の後は1段深くなります。