paloma blog

NWエンジニアやってます。技術の備忘など。Pythonもちょっと。タイトルは好きなカクテルから。

コンピュータ・サイエンス入門8

間が空いてしまいましたが、8回目です。

  • 内容サマリ
    • 比較の結果に応じてコードに違うことを行わせる
    • if : True/Falseで実行する処理を分岐させる
    • or : 2つの式のどちらかを評価させる
    • コードをシンプルにできる方法を考える
      • 内容が理解しやすければより正確なコードがかける
# if
 if <TestExpression>:
     <block> # Trueの時に評価するコード
 i=21 # 評価式がTrueであってもなくてもインデントされていない次の文が実行される

# or
 <Expression> or <Expression>
 # 1つ目の式がTrueの場合は2つ目は評価しない 
 # 1つ目がFalseの場合は2つ目の式の値になる
  • コード
  • a,bの値を比較し、値の大きい方を返す
def begger(a,b):
    if a > b:
        return a
    return b
 
# この書き方だと非対称なので、elseを使うと見やすくなる

def begger(a,b):
    if a > b:
        return a
    else:
        return b
  • 名前が"D"、"N"から始まる人にTrueを返す
def is_friend(name):
    if name[0] == "D":
        return True
    else name[0] == "N":
        return True
           else:
               retuen false

# orを使うとシンプルになる
def is_friend(name):
    return name[0] == "D" or name[0] == "N"
  • 3つの数字の中で一番大きい物を出力する
def biggest(a, b, c):
    if a > b: # aがb,cより大きい場合
        if a > c:
            return a
        else:
            return c
    if b > c: # bがa,cより大きい場合
        return b
    else: 
        return c

 # さっき作ったbiggerの関数を使うともっとシンプルになる

def biggest(a, b, c):
    return bigger(bigger(a,b),c)

# a,bの内大きいものとcを比較して大きい方を出力する
# 最後に行う動作を最初に考える
# 別の結果を入力に使うため
  • 進捗
    • Lesson2 23/30 完了

途中でコードを書く問題があるのですが、今回はちょっと時間がかかりました。 今回のレッスンまでのコードでプログラムはかけるそうです。 あとはいろんな構文ですっきりとしたコードをかけるように学習していきます。