Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PythonBeginners沖縄 #32 / step4 / プログラミングはじめ

yasubei
February 04, 2023

PythonBeginners沖縄 #32 / step4 / プログラミングはじめ

PythonBeginners沖縄 #32 step4 の資料です。
Pythonの基本的な文法や言語仕様、標準入出力の方法などをサマリしています。どちらかというと1度一通り学んだ方がチートシートとして使うと良い資料です。

yasubei

February 04, 2023
Tweet

More Decks by yasubei

Other Decks in Programming

Transcript

  1. 開始 1. ⼊⼒ 2. 処理 3. 出⼒ 終了 1.⼊⼒ 2.処理

    3.出⼒ プログラムの流れ データを受け取る 表⽰する、保存する 計算、加⼯など ざっくりイメージ
  2. 開始 1. ⼊⼒ 2. 処理 3. 出⼒ 終了 ⼊⼒ データを受け取る

    → input()を使う • ⽂字列 • 数値 1⾏に1つの値 変数名 = input() 変数名 = int(input())
  3. 開始 1. ⼊⼒ 2. 処理 3. 出⼒ 終了 ⼊⼒ •

    ⽂字列 • 値の数だけ変数を⽤意する場合 1⾏に複数の値(空⽩区切り) 変数名1, 変数名2, 変数名3, … = input().split() • リストを利⽤する場合 リスト名 = input().split()
  4. 開始 1. ⼊⼒ 2. 処理 3. 出⼒ 終了 ⼊⼒ •

    整数 • 値の数だけ変数を⽤意する場合 1⾏に複数の値(空⽩区切り) 変数名1, 変数名2, 変数名3, … = map(int, input().split()) • リストを利⽤する場合 リスト名 = list(map(int, input().split()))
  5. 開始 1. ⼊⼒ 2. 処理 3. 出⼒ 終了 ⼊⼒ •

    浮動⼩数点数 • 値の数だけ変数を⽤意する場合 1⾏に複数の値(空⽩区切り) 変数名1, 変数名2, 変数名3, … = map(float, input().split()) • リストを利⽤する場合 リスト名 = list(map(float, input().split()))
  6. 開始 1. ⼊⼒ 2. 処理 3. 出⼒ 終了 処理 •

    タスクによって異なる • 四則演算したり、アニメーションした り、if⽂で処理を分岐したり、for⽂で 繰り返し処理をしたり…. プログラムにさせたい処理を書く
  7. 開始 1. ⼊⼒ 2. 処理 3. 出⼒ 終了 出⼒ •

    基本 • ⽂字列を出⼒する print(“Hello World”)
  8. 開始 1. ⼊⼒ 2. 処理 3. 出⼒ 終了 出⼒ 1.⾜し算

    変数を埋め込んだ出⼒ print(“私の名前は” + name + ”です。” + str(age) + ”歳です。”) name = “花⼦” age = 20 変数定義 print(“私の名前は{}です。{}歳です。”.format(name, age)) print(f“私の名前は{name}です。{age}歳です。”) 2.format 3.fstring 以下の3種類の出⼒結果は全て同じです。
  9. Pythonの主な型 型の種類 あつかう値 例 str ⽂字列 “こんにちは!” int 整数 65536

    float 浮動⼩数点 3.1415926535 bool ブーリアン(True/False) True list リスト [1, 1, 2, 2, 3, 3] set セット(集合) ["⾚","⻘","⻩"] tupple タプル(変更不可な配列) (1, 1, 2, 2, 3, 3) dictionary 辞書 {"カラー": "⾚", "値段": 100}
  10. 型変換 1.型の確認 print(type(変数)) 2.str → int print(int(⽂字列)) 3.int → str

    print(str(整数値)) 4.str → float print(float(⽂字列)) 5.float → int print(int(浮動⼩数値)) 6.float → str print(str(浮動⼩数値)) print(“{:.2f}”.format(浮動⼩数値)) • 桁数の指定は前述のformatやfstringを使 いましょう
  11. 算術演算⼦ 演算 演算⼦ 例 print(num) ⾜し算 + num = 5

    + 5 10 引き算 - num = 10 - 8 2 かけ算 * num = 2 * 3 6 割り算 / num = 10 / 3 3.3333333 割り算の商 // num = 10 // 3 3 割り算の余り % num = 10 % 3 1 べき乗 ** num = 2 ** 3 8 割り算を使いこなそう • / で計算した値はfloat型 • // で計算した値はint型 • % で余りを求める処理は、プログラムではよく使うので使い⽅を覚えましょう
  12. if⽂ if⽂とは? • if⽂は英⽂の通り「もし 〜 なら◦◦を実⾏」といった記述で条件に応じて処理を実⾏する構⽂です。 • 条件⽂は必ずBool値(true / false)

    で記述します。 if 条件⽂: 条件がtrueの場合の処理 条件が1つの場合 if 条件⽂: 条件がtrueの場合の処理 else: 条件がfalseの場合の処理 if⽂ • 条件に応じて処理を実⾏するにはif⽂を使います。 if - else⽂ • 条件に合わない場合の処理も⾏うには if - else⽂を使います。
  13. if⽂・複数条件 複数の条件で分岐したい場合 if 条件⽂1: 条件1がtrueの場合の処理 elif 条件⽂2: 条件1がfalse、条件2がtrueの場合の処理 elif 条件⽂3:

    条件1〜2がfalse、条件3がtrueの場合の処理 elif 条件⽂4: 条件1〜3がfalse、条件4がtrueの場合の処理 ⋮ ⋮ else: すべての条件がfalseの場合の処理 if – elif – else⽂ • 3つ以上条件に応じて処理を実⾏したい場 合はif-elif-else⽂を使います。 • 上から順に条件がtrueかどうかが確認され、 trueになる条件の処理かelseの処理が実⾏さ れる。 • 複数trueになる場合でも、1番最初にtrueに なる処理のみが実⾏される。
  14. 条件⽂の書き⽅ ⽐較演算⼦ a == b # a と b が等しい

    a != b # a と b が異なる a < b # a が b よりも小さい a > b # a が b よりも大きい a <= b # a が b 以下である a >= b # a が b 以上である a is b # a が b と等しい a is not b # a が b と異なる a in b # a が b に含まれる a not in b # a が b に含まれない ブール演算⼦(and, or, not) A and B # 条件Aかつ条件B A or B # 条件Aまたは条件B not A # 条件AがFalseならTrue
  15. 三項演算⼦ 構⽂ 条件がtrueの時の値 if 条件文 else Falseの時の値 • if⽂で1つの値が欲しい時に使⽤可能で、通常のif⽂よりも1⾏で短くまとめられる。 例)

    numが10以下かどうかのif⽂ VS 三項演算⼦ if num <= 10: print(“numは10以下”) else: print(“numは10より⼤きい”) print(“numは10以下” if num <= 10 else “numは10より⼤きい”) if - else⽂ • 通常のif⽂はこんな感じです。 三項演算⼦ • 1⾏で書けます。
  16. list(基本) 要素の初期化 colors = ["赤","白","黄","赤","白","黄"] • Listの使い⽅1 要素の参照 print(colors[3]) #

    赤 要素の追加1 colors.append("紫") # 赤白黄赤白黄紫 要素の追加2 colors += ["黒","赤"] # 赤白黄赤白黄紫黒赤 要素の削除1 colors.pop(2) # 赤白赤白黄紫黒赤 要素の削除2 del colors[1:4] # 赤黄紫黒赤 要素の削除3 colors.remove("赤") # 黄紫黒赤 • 中括弧 [ ] にカンマ区切りで初期化 します。 • インデックスを指定して取り出し ます。 • appendで要素を追加。 • +=でlistを結合。 • popでインデックスを指定して要 素を削除。 • delで範囲を指定して削除。 • removeで値を指定して要素を削除。 • 複数の時は前の⽅から削除
  17. list (特殊な作り⽅・スライス) 空のリスト empty_list = [ ] • Listの使い⽅2 range()で作る

    range_list = list(range(5)) # 0,1,2,3,4 スライス1 range_list[3:] # 3,4 スライス2 range_list[:2] # 0,1 スライス3 range_list[1:3] # 1,2 スライス4 range_list[:] # 0,1,2,3,4 • [ ] で空のリストを作成。 • 0〜4までのリストを作成。 • 抽出開始位置を指定したスライス。 • 抽出終了位置を指定したスライス。 • 抽出開始位置、終了位置を指定し たスライス。 • 何も指定しないスライス。
  18. list (スライス続き) • Listの使い⽅3 スライス5 range_list[-3:] # 2,3,4 スライス6 range_list[:-2]

    # 0,1,2 スライス7 range_list[-3:-2] # 2 スライス8 range_list[::2] # 0,2,4 • マイナスを指定したスライス。後ろから 数えて3番⽬以降を抽出 • 後ろから数えて2番⽬までを抽出。 • 両⽅指定することも可能。 • Stepを使⽤したスライス。先頭から2つ ずつ間隔を空けて取り出す スライス9 range_list[-3::2] # 2,4 • Stepと抽出位置を組み合わせることも可 能。
  19. 組み込み関数 • いっぱいありますが、まずこの3つを覚えましょう min() print(min([30,70,50,90])) # 30 max() print(max([30,70,50,90])) #

    90 • 最⼩値を返します。 • 最⼤値を返します。 sum() print(sum([30,70,50,90])) # 240 • 合計値を返します。
  20. ⽂字列のメソッド メソッド 処理 使用例 upper() ⼤⽂字に変換 "Apple iPhoneとGoogle Android" →

    "APPLE IPHONEとGOOGLE ANDROID" lower() ⼩⽂字に変換 "Apple iPhoneとGoogle Android" → "apple iphoneとgoogle android" capitalize() ⽂章の先頭を⼤⽂字に変換 "may the force be with you!" → "May the force be with you!" title() 単語の先頭を⼤⽂字に変換 "may the force be with you!" → "May The Force Be With You!" count() ⽂字列中に特定の⽂字列が含まれる個数を返す "apple pie".count("p") → 3 find() ⽂字が⾒つかった最初の位置を返す "apple pie".count("e") → 4 rfind() ⽂字を後ろから検索し、⾒つかった最初の位置を返す "apple pie".count("e") → 8 replace() ⽂字列を置換する "employee".replace("e","x") → "xmployxx" strip() ⽂字列の前後にある空⾏と改⾏コードを取り除く " hello ¥n".strip() → "hello" rstrip() 末尾にある特定⽂字を取り除く "2, 3, 4,¥n".strip() → "2, 3, 4" format() ⽂字列に値を埋め込む(format) "チューリップは{}と{}と{}でした。".format("⾚","⻘","⻩⾊") → 'チューリップは⾚と⻘と⻩⾊でした。' fstring ⽂字列に値を埋め込む(fstring) name="⾼橋"; age="23" f"{name}選⼿、年齢{age}" → '⾼橋選⼿、年齢23' • いっぱいありますので、丸暗記せずに⼀覧としてご使⽤ください