新しい本を読むと知見が広がる
森巧尚さんが書いた「ゲーム作りで楽しく学ぶPythonのきほん」という本を読んでいます。
【PR】
本の中では当たり前と思われる誤差の話が出ていまして、「そういえば気にしてなかった!」と驚かされてます。
Pythonでのリストの扱い
今回の主題の前提としてPythonでのリストの扱いを解説します。こうしたブロックが主題のFOR文の中で効果的に機能するのです!!
一つの変数に複数のパラメーターがあると考えてみましょう!!そうする為にはPythonでは角のあるカッコ、[ ]でくくって表現します。カッコの中を半角の句読点で区切って複数のパラメーターを入れリストを作るるのです。
例えばフルーツという箱(リスト)の中にイチゴとバナナ、パインという「名前」が入っていると想像してください!!または対応した別の箱(リスト)にそれぞれの在庫数が格納されていると想像して下さい。
リストは可変であり、異なるデータ型の要素を含むことができます。リストを効果的に使用することで、FOR文などのループ処理で便利に要素を取り出すことができます。
以下に、Pythonのリストの基本的な使い方と、FOR文と組み合わせてリストを活用する例を示します。
リストの基本的な使い方
# 空のリストの作成
my_list = []
# 要素を含んだリストの作成numbers = [1, 2, 3, 4, 5]
fruits = [‘apple’, ‘banana’, ‘orange’# 異なるデータ型の要素を含むリスト
mixed_list = [1, ‘apple’, 3.14, True]# リストの要素にアクセス
print(numbers[0]) # 1
print(fruits[1]) # ‘banana’# リストの長さを取得
print(len(numbers)) # 5
FOR文とリストの組み合わせ
一例としてFOR文を使用してリストの各要素にアクセスすることができます。これにより、複数のパラメーターを一つの変数にまとめて扱うことができます。
# FOR文とリストの組み合わせ
for number in numbers:
print(number)
# 出力:# 1
# 2
# 3
# 4
# 5# 複数のリストを同時に処理
for number, fruit in zip(numbers, fruits):
print(f”Number: {number}, Fruit: {fruit}“)# 出力:
# Number: 1, Fruit: apple
# Number: 2, Fruit: banana
# Number: 3, Fruit: orangeリスト内包表記を使用することで、リストを効果的に生成することもできます。
# リスト内包表記の例
squared_numbers = [x**2 for x in numbers]
print(squared_numbers)
# 出力: [1, 4, 9, 16, 25]
これらの例を参考に、Pythonのリストを効果的に扱い、FOR文と組み合わせて使うことで、複数のパラメーターを効率的に処理することができます。
for分を簡便に利用しよう
PythonでのFOR文は極めて分かりやい構造となっています。別途解説しているインデントの考えで上記のリストやIF文が記述されます。
インデントの中にあるFOR文やIF文がプログラムの中で分かりやすく記述できるのです!!見た目で分かり易いプログラム表記となっています。
Pythonでは条件分岐と反復を使い倒せ
なによりも、FOR文は何度も何度も繰り返します!!その繰り返しの中で条件を考えたり場合分けをしたりします!!
具体的にはPythonのプログラムで条件はIF(もしも)を使います。例えばテストの点数が60点以上だったら合格とするプログラムがかけます。条件分岐(場合分け)や繰り返しの仕組みを駆使すれば複雑な論理を表現できますね!!論理の間にゲームプレイの操作がされて面白いゲームとなるのです。
FOR文と条件分岐(IF文)を組み合わせることで、プログラムが複雑な論理を処理し、興味深いゲームプレイを実現できます。Pythonでは、以下のような構造を使用して条件分岐や繰り返しを表現することができます。
# 繰り返し(FOR文)と条件分岐(IF文)の例
for i in range(5):
# 何かの処理
# 条件分岐if i < 3:
print(f’{i}は3未満です。’)
else:
print(f’{i}は3以上です。’)
# テストの点数による合格判定の例def check_pass(score):
if score >= 60:
return ‘合格’
else:
return ‘不合格’
# テストの点数を確認test_score = 75
result = check_pass(test_score)
print(f’テストの点数は{test_score}点で、結果は{result}です。’)
上記の例では、FOR文を使用して繰り返し処理を行い、IF文を使用して条件分岐を実装しています。また、関数check_pass
では、テストの点数による合格判定を行っています。
このような構造を組み合わせることで、ゲーム内の様々な状況に対して柔軟に対応でき、プレイヤーに対して面白いゲームプレイを提供することができます。
for文を使って何度も反復
そしてFOR文ではプログラムを何度でも繰り返します。ゲームで考えたら特定の条件でクリアするゲームも作れますし、最高点を競い合うゲームも作れます!! For文は、プログラム内の特定のコードブロックを指定した回数だけ繰り返すための制御構造です。これを使用すると、同じコードを繰り返し実行して、例えばゲーム内の特定の条件を満たすか、得点を競い合うような要素をプログラムに組み込むことができます。
たとえば、Pythonの場合、次のようになります:
# ゲームでの例: 10回繰り返して"Hello, World!"を表示する
for i in range(10):
print("Hello, World!")
# ゲームでの例: 特定の条件でクリアするscore = 0
for i in range(5): # 5回の試行
guess = int(input(“Guess the number: “))
if guess == 42: # 42が正解の場合
print(“Congratulations! You cleared the game!”)
score += 10
else:
print(“Try again!”)
print(“Your final score:”, score)この例では、プレイヤーは5回の試行で”42″を当てるゲームをプレイし、正解すると10点が加算されます。同様に、繰り返しを使用してゲームのループやイベントを制御することができます。
〆最後に〆
以上、間違い・ご意見は
次のアドレスまでお願いします。
最近は全て返信出来てませんが
適時、返信して改定をします。
nowkouji226@gmail.com
また、この記事はChatGPT社のOpenAI
の情報を参考として作成しています。
【全体の纏め記事へ】
コメント