ProgateでPythonを学ぶ【コース2は繰り返し、リスト、辞書】

ProgateでPythonコース2

ProgateでPythonを学ぶコース2

筆者はProgateというプログラミング学習サービスを利用しています。この記事ではProgateのPythonコース2で学んだことをまとmていこうと思います。Progateはコース2、3あたりからは有料会員にならない途中から有料になってしまいますので先に進みたい人は有料会員に必要がありますね。

Progateじゃなくて本でpythonをやりたい人にはこちらの本がおすすめ↓

こちらの本はノンプログラマー向けだけどPythonの基礎から学びはじめ途中から実用的なコードがたくさんでてくるのでよいですね。クラスとかはないんだけど日常でつかえそうなプログラムとかのサンプルコードがのってます。

といってもこういう技術本は3000円くらうするのがデフォルトなのでProgateだったら980円で学べますからどっちが安いかといえばあれですね。

それではここからは学んだことを備忘録的に書いていこうと思います。

リスト

pythonの場合は配列ではなくて 「リスト」といわれてますよね。呼び方は違うけど配列だと思ってもらってもよいかとは思います。

リストの表現は a = [, , , ,] こんな感じでカンマ区切りにしてデータを複数格納できますね。

fruits =  ["apple", "banana", "orange"]
print(fruits[0])
print("好きな果物は" + fruits[2] + "です")

リストの要素へアクセス

リストは[index0, index1]のように要素があったら番号が決められているんですよね。一番最初の要素は0番からはじまる決まりになっているので上記の例でいくと fruitsリストの0番目にアクセスしたいんだったら、  fruits[0]とすればいいですね。→結果はリストの値”apple”がかえってきますね

リストの追加と更新

Pythonのリストの追加は append()メソッドを使いますね たとえばfruitsというリストがあったとしたら fruits.append(“もじ”)のように書きますね。

リストの更新に関しては要素に値を代入してやればいいですね。たとえば fruits[0] = “ぶどう” みたいな感じですね

fruits = ['apple', 'banana', 'orange']
fruits.append("grape")
print(fruits)
fruits[0] = "cherry"
print(fruits[0])

繰り返し処理

リストからすべての要素をとりだすときは for をつかいます。他の言語だと foreach をつかったりするものもありますが、pythonの場合は繰り返しもリストの要素取り出しも forを使いますね。

書き方は for a in array:

のように書きます。()とかはなにも指定してないですね。最後の:コロンに注目ですね。これのあとに処理を書いていくわけですが、この後の段落はインデントといってスペースを4個分あけないといけない決まりになっています

fruits = ['apple', 'banana', 'orange']
for fruit in fruits:
    print("好きな果物は" + fruit + "です")

辞書

pythonの辞書ってのはkeyと値がセットになって記述されているやつのことですね。PHPなんかでは連想配列、Rubyではハッシュといわれていたきがします。

pythonの辞書の定義のしかたは dic = {“name”: “tanaka”, “age”: 20} こんなかんじで key: valueのような形で書いて複数定義するときはカンマ区切りですね。辞書は波括弧を用いているのもポイントですね。

fruits = {"apple": "りんご", "banana": "バナナ"}
print(fruits["banana"])
print("appleは" + fruits["apple"] + "という意味です")

辞書の値へアクセスする方法

先ほども書いたように辞書は キー: 値 がセットになっているのですが、この値にアクセスするには 辞書名[“キー名”]のように書きますね。たとえばfruits辞書のりんごにアクセスするには

print(fruits[“apple”])のように書くわけですね

辞書の更新と追加

辞書の更新についてはkeyを指定して値を代入してやればよいですね、たとえばfruits[“apple”]の値はりんごなわけですが、これをみかんに更新したいんだったら

fruits[“apple”] = “みかん” というようにしますね。(appleはみかんだと意味がおかしくなりますがこれは例として)

辞書への追加については存在しないkeyを作ってそこに値を代入する感じですね。たとえば fruist[“peach”] = “もも”みたいな感じですね。そしたら既存の辞書に新たなキーバリューペアが追加されるというわけです。

fruits = {'apple': 100, 'banana': 200, 'orange': 400}
fruits["banana"] = 300
fruits["grape"] = 500
print(fruits) #{'apple': 100, 'banana': 300, 'orange': 400, 'grape': 500}

辞書の要素をひとつひとつ取り出す

辞書もリストと同じ要領でfor文を使ってひとつひとつのペア(要素)を取り出すことができますよね。for文のイメージとしては右から左へ要素が流れていくイメージですね。

fruits = {'apple': 'りんご', 'banana': 'バナナ', 'grape': 'ぶどう'}
for fruit in fruits:
    print(fruit + "は" + fruits[fruit] + "という意味です")

'''
appleはりんごという意味です
bananaはバナナという意味です
grapeはぶどうという意味です
'''

ここは少しわかりにくいかもしれないですね fruitsとはい辞書があったときに keyにアクセスするには fruit 値にアクセスするときは辞書名[“キー”]という形になるので fruits[fruit]という書き方になっているのですね。ちょっとややこしいですがなれればそんなに難しくないはずです。

while文

for文からとんでしまいましたが、ここにきてwhile文ですねwhile文は繰り返し処理の構文になりますね。

while 条件式:のような書き方で 条件式がtrueの間はループを行い 条件式がfalseになったら処理がおわるという構文です。別に必ずというわけではないですがwhile文を使う時は最初に変数を定義しておこなうことがおおいですね。

↓の例はx = 20と変数を定義しておいて、xが0より大きい間だけループするというものです。ちなみにwhile文も末尾に:コロン記号がついてますね。ようするにpythonは波括弧ブロックがないかわりに:をつかってブロックを表現しているのですね。while文の処理を書く場所はインデントを設けないといけないきまりになっていますね

x = 10
while(x > 0):
    print(x)
    # 変数xから1引いてください
    x -= 1

break

breakは繰り返しとかのときで途中で処理をやめたいときにつかいますね。forとかwhileとかでつかえますね。配列の値で777が見つかったら処理をするというものです↓

numbers = [765, 921, 777, 256]
for number in numbers:
    print(number)
    if number == 777:
        print("777が見つかったので処理を終了します")
        break

contiune

continueはこのときだけは処理をさせたくないとか繰り返しでスキップするためにつかわるやつですね。処理は中断されず。またループにもどります。

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for number in numbers:
    # 変数numberの値が3の倍数のとき、繰り返し処理をスキップしてください
    if number % 3 == 0:
        continue
    print(number)

ちょっと難しい問題

Progateの問題でinputを使った問題があるのですがinputは文字列で受け取るので型変換を多用した問題です。型変換が多いのでちょっと難しい問題

items = {'apple': 100, 'banana': 200, 'orange': 400}
for item_name in items:
    print('--------------------------------------------------')
    print(item_name + 'は1個' + str(items[item_name]) + '円です')
    input_count = input("購入する" + item_name + "の個数を入力してください:")
    print("購入する" + item_name + "の個数は" + input_count + "個です") 
    count = int(input_count)
    total_price = items[item_name] * count 
    print("支払い金額は" +  str(total_price) +3 "円です")

Progate Pythonコース2まとめ

Progate Pythonコース2で主に学んだことは以下の点でした

  • リスト → 複数の値がセットされている箱
  • 辞書 → keyと値がセットになって複数入れられる箱
  • 繰り返し → for whileなど
  • 型変換 → int() str()など

コース2は配列操作になれたりすることがメインでしたね。あと型変換を多用するので、結構ミスることが多かったですね。あとコース2は結構ボリュームがあったきがします。

次の記事はProgateでPythonを学ぶ【コース3は関数】 | 初心者のプログラミング


Warning: Undefined array key "thumbnail_url" in /home/users/1/boy.jp-rolpop/web/skc/wp-content/themes/godios/inc/schema-org.php on line 49

Warning: Undefined array key "thumbnail_url" in /home/users/1/boy.jp-rolpop/web/skc/wp-content/themes/godios/inc/schema-org.php on line 78