はじめに
2117 年、地球の表面の過酷な条件のために、人類は壮大な地下都市に住むようになりました。私たちの実験は、これらの未来都市の一つであるヘイブンに設定されており、インスピレーションを与える地下のリーダーであるアレクシス・シファーが、数学とランダム性の知識を駆使して、効果的なエネルギー配分を行っています。
アレクシスは、ヘイブンの市民に Python の math と random モジュールの使い方を教育することで、エネルギー資源を最適化し、資源配分を戦略的に行い、都市の生態系の均衡を維持できると考えています。あなたのミッションは、アレクシスが示した手順に従い、Python の数学的およびランダムな計算の力を学び、ヘイブンの持続可能性に貢献することです。
Python の math モジュールを発見する
このステップでは、C 標準で定義された数学関数にアクセスできる Python のmathモジュールを探ります。アレクシスが、ヘイブンのエネルギー資源管理に不可欠な計算を行うためのいくつかの基本的な数学関数の使い方を案内します。
まず、~/projectディレクトリに次の内容のmath.pyという Python ファイルを開きます。
import math
def main():
## エネルギー出力の平方根を計算する
energy_output = 225
sqrt_energy_output = math.sqrt(energy_output)
print("The square root of the energy output is:", sqrt_energy_output)
## math.ceil を使って必要な最小エネルギーセル数を計算する
energy_cells_needed = math.ceil(sqrt_energy_output)
print("Minimum number of energy cells required:", energy_cells_needed)
if __name__ == "__main__":
main()
スクリプトを実行するには、次のコマンドを使います。
python3 math.py
期待される出力は次のようになるはずです。
The square root of the energy output is: 15.0
Minimum number of energy cells required: 15
Python の random モジュールを使った実験
次に、アレクシスはあなたにrandomモジュールについて教えたいと思っています。このモジュールを使うと、ヘイブンでのエネルギー需要の変動をシミュレートする際に不可欠な、乱数を生成して確率に基づいた決定を行うことができます。
~/projectディレクトリに次のコードを持つrandom.pyという Python ファイルを開きます。
import random
def main():
## ランダムなエネルギーパルス値を生成する
energy_spike = random.uniform(1.0, 2.0)
print(f"Random energy spike multiplier: {energy_spike}")
## エネルギー配分戦略を決定するためのサイコロの振りをシミュレートする
dice_roll = random.randint(1, 6)
if dice_roll <= 3:
print("Strategy A: Distribute energy evenly across all sectors.")
else:
print("Strategy B: Allocate more energy to residential sectors.")
if __name__ == "__main__":
main()
コードを書いた後、それを実行して乱数計算の結果を見てみましょう。
python3 random.py
あなたは次のような出力を得るかもしれません。
Random energy spike multiplier: 1.6548788347052577
Strategy A: Distribute energy evenly across all sectors.
まとめ
この実験では、アレクシス・シファーが率いる未来の地下都市であるヘイブンへの旅に出ました。そこでは Python のmathとrandomモジュールを学びました。まず、必須の計算を行うための math モジュール内の様々な関数を学びました。次に、不確定性の世界に入り、予測不可能な出来事が意思決定にどのように影響するかを理解しました。
この実験を完了することで、ヘイブンの活力を維持するのに役立つ知識を得ました。また、おそらくあなた自身の環境における資源最適化にも同様の戦略を適用できるかもしれません。数値や確率に関わる問題に関わらず、あなたは今、効果的に計算と戦略立案を行うためのツールを手にしています。



