SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

レトロ風ゲームを作って学ぶPython入門

【作って学ぶPython】基本の文法を学んでコードを読み解けるようになろう!

レトロ風ゲームを作って学ぶPython入門 第2回

  • X ポスト
  • このエントリーをはてなブックマークに追加

繰り返し処理

 すでにリストのところで出てきていますが、プログラムでは同じ処理を、値を変えて繰り返す処理がよく出てきます。こうした処理を利用することで、大量のデータを処理していくことができます。

 Pythonではfor文やwhile文で、繰り返し処理をおこなえます。

リストとfor文

 まずはリストとfor文の組み合わせです。すでに出てきた書き方の復習です。

リストとfor文
animals = ["cat", "dog", "bear"]

for name in animals:
    print(name)
出力
cat
dog
bear

 要素のインデックスと値を得たいときはenumerate()関数を使います。プログラムと出力の例を示します。

インデックスと値を得る
animals = ["cat", "dog", "bear"]

for i, name in enumerate(animals):
    print(i, name)
出力
0 cat
1 dog
2 bear

range()関数

 リストを使わずに、数値だけでfor文を実行したいときは、range()関数を使います。range(stop)と書くと、0から始まり、1ずつ大きくなり、stop未満まで処理をおこないます。

 プログラムと出力の例を示します。0から始まり、1ずつ大きくなり、4未満まで(この場合は3まで)処理をおこないます。

range(stop)関数
for i in range(4):
    print(i)
出力
0
1
2
3

 range()関数は引数を増やせます。引数を2つにするとrange(start, stop)の意味になります。引数を3つにするとrange(start, stop, step)の意味になります。startから値を開始して、1ずつあるいはstepずつ値を増やして、stop未満まで処理をおこないます。

 プログラムと出力の例を示します。まずは引数2つの場合です。1から始まり、1ずつ大きくなり、4未満まで(この場合は3まで)処理をおこないます。

range(start, stop)関数
for i in range(1, 4):
    print(i)
出力
1
2
3

 プログラムと出力の例を示します。次は引数3つの場合です。1から始まり、2ずつ大きくなり、4未満まで(この場合は3まで)処理をおこないます。

range(start, stop, step)関数
for i in range(1, 4, 2):
    print(i)
出力
1
3

while文

 while文は、while 条件式:の、条件式がTrueのあいだ処理を続けます。for文が回数に注目した繰り返しだったのに対して、while文は条件を満たすかに注目した繰り返しです。

 プログラムと出力の例を示します。変数numの値を1から始めて、1ずつ足していき、4未満のあいだ処理を続けます。

while文
num = 1
while num < 4:
    print(num)
    num += 1
出力
1
2
3

breakとcontinue

 繰り返し処理は、途中で打ち切ったり、飛ばしたりすることができます。

 繰り返し処理を途中で打ち切るときはbreak文を使います。

 プログラムと出力の例を示します。if文を使い、変数iの値が2のときに、break文で処理を打ち切っています。

break文
for i in range(4):
    if i == 2:
        break
    print(i)
出力
0
1

 繰り返し処理を途中で飛ばすときはcontinue文を使います。

 プログラムと出力の例を示します。if文を使い、変数iの値が2のときに、continue文で処理を飛ばしています。

continue文
for i in range(4):
    if i == 2:
        continue
    print(i)
出力
0
1
3

次のページ
Pygameの基本コードの読み解き

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
レトロ風ゲームを作って学ぶPython入門連載記事一覧

もっと読む

この記事の著者

柳井 政和(ヤナイ マサカズ)

クロノス・クラウン合同会社 代表社員http://crocro.com/オンラインソフトを多数公開。プログラムを書いたり、ゲームを作ったり、記事を執筆したり、マンガを描いたり、小説を書いたりしています。「めもりーくりーなー」でオンラインソフト大賞に入賞。最近は、小説家デビューして小説も書いています(『裏切りのプログラム』他)。面白いことなら何でもOKのさすらいの企画屋です。 

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/19426 2024/05/13 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング