BNBのプログラミング勉強記録

ガチのプログラミング初心者が駆け上がっていくブログ

メモ(Python II)

基本

  • 配列のことはリストという。[1,2,3]と記述
  • インデックスは0から。他と一緒。
  • 例 print(foods[0]) というように出力。これも同じですね〜
  • 上の「同じ」っていうのが、これまで学習してきたjavascriptRubyJavaphpのどれと同じってところまでは正直覚えてないけど、割と共通してることが多い印象。どうでもいいですが。
  • 「リスト.append(値)」とすることで、すでに定義されているリストの末尾に新たな要素を追加することができる。アペンド=追加、の意。
  • ずっとこの書き方をしていて感じたが、例えばProgateで「「for 変数名 in リスト:」と書くことで、リストの要素の数だけ、処理を繰り返すことができます。」とあったとして、これをこの箇条書きで書くよりも、やはりサンプルソースを記載したほうが、後々見た際に分かりやすい気がする・・。試しにやってみるか

for 文を用いてリストの要素を1つずつ取り出す

fruits = ['apple', 'banana', 'orange']

for fruit in fruits:
    print('好きな果物は'+fruit+'です')

辞書

fruits={'apple':'りんご','banana':'バナナ'}

print(fruits['banana'])
print('appleは'+fruits['apple']+'という意味です')

辞書の更新、追加

fruits = {'apple': 100, 'banana': 200, 'orange': 400}

fruits['banana']=300
fruits['grape']=500

print(fruits)

forにて辞書を全て出力

fruits = {'apple': 'りんご', 'banana': 'バナナ', 'grape': 'ぶどう'}

for fruit_key in fruits:
    print(fruit_key+'は'+fruits[fruit_key]+'という意味です')

while

  • 変数の値を更新する処理を記述する際にインデントを忘れるとwhile文の外と見なされる。よって、while文の条件式が永遠にTrueになるので無限ループとなる。無限ループを起こさないためにもインデントには気をつけよう
  • なんか、++とかーーが使えないっぽいぞ。なんでや
x = 10

while x>0:
    print(x)
    x-=1

break

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

continue(当てはまった時にその回だけスキップする)

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for number in numbers:
    if number%3==0:
        continue
    
    print(number)

総合演習(クソ簡単だった)

money = 1000
items = {'apple': 100, 'banana': 200, 'orange': 400}
for item_name in items:
    print('--------------------------------------------------')
    print('財布には' + str(money) + '円入っています')
    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) + '円です')
    
    if money >= total_price:
        print(item_name + 'を' + input_count + '個買いました')
        money -= total_price

        if money==0:
            print('財布が空になりました')
            break
        
    else:
        print('お金が足りません')
        print(item_name + 'を買えませんでした')

print('残金は'+str(money)+'円です')