はじめてのPythonお勉強会~表示と計算~【第2回】

2018/11/28


ほんの好奇心と作りたいものができてしまったので、Pythonをお勉強していくシリーズ。

明確に作りたいものをイメージしているので、それに沿ったお勉強をしていきます。ほんの少しC言語をかじったことがあるので、プログラムでよく使う言葉を突然使用したり、知っているところをすっ飛ばしながらやっていきます。

今回は出力と計算です。かんたんな出力(表示)・計算やります。

基礎編

表示するだけ、計算するだけのものをサクっと作る基礎編です。

表示

とりあえず、「Hello World」と表示するだけのプログラムを書きます。

print("Hello World")
実行結果

Hello World

「Hello World」の代わりに日本語でも入力可能です。

計算

計算して表示します。加算・減算・乗算・割算の4つを計算後、表示させます。

加算

1つの式を計算。表示させます。

print(2 + 3)

実行結果

5

加算・減算・乗算・割算を表示

4つ一気に表示します。

print(2 + 3)
print(3 - 2)
print(2 * 3)
print(6 / 3)

「×」は「*」、「÷」は「/」と日本での計算記号と違う点に注意して覚えてしまいましょう。

実行結果

5
1
6
2.0

実践

上記を踏まえた上で、ポケモンが次のレベルに上がるまでの経験値を出す計算式を作ります。

値の3乗

100万タイプの1Lvから目標Lvまでの経験値を出す式は、目標レベルの3乗。Lvは整数の値のみなので、小数点の計算は要りません。

計算式目標Lv3
(目標Lv^3)

前提

目標Lvは25、現在Lvは1とします。

実際に計算する値は253 = 15625 となります。

print(25*25*25)

上図のように3回乗算するのでも同じ答えを出せますが、短く見やすく変更します。

print(25**3)

3乗できました。

実行結果

15625

乗算後、小数点以下切り捨て

ここでは、小数点以下切り捨ての計算を行います。

今回計算して表示させる式は以下です。

80万floor(0.8×Lv3)
125万floor(1.25×Lv3)

「floor(x)」で、xの小数点以下切り捨てという式です。
x=1.25であったなら、floor(x)=1 となります。

3乗の式は上記をそのまま使えます。

「floor(x)」はPythonでは以下のようにして計算します。

print(int(1.25))
import math
print(math.floor(1.25))

int(1.25)では、整数型に指定することで無理やり小数点以下を切り捨てています。
math.floor(1.25)では、mathモジュールをインポートすることで、floor(x)が使えるようにしています。

実行結果

1

上記を使って、80万タイプのプログラムを作成します。
先ほどと同じくLv1からLv25までの経験値を算出します。
80万タイプの場合、解は「12500」です。

60万
import math
print(math.floor(0.8*25**3))
実行結果

12500

125万タイプの式の解は「19531.25」です。floor(x)しているので、実際には「19531」と表示されます。

125万
import math
print(math.floor(1.25*25**3))
実行結果

19531

今回はここまでです。

次回

前回