Day 3: プログラミング体験1: 配列、for文、文字列と文字


今日の授業の概要

  1. 配列for 文; 課題 2-1 「最大値を求める」

  2. 文字列と文字: 文字が並んだもの; 課題 2-2 「英小文字のみ画面に出す」

    • 文字と文字コード

    • 論理演算子

課題: “2-1: 最大値を求める” と “2-2: 文字列フィルター”

目次

  1. Day 3 のノートブックを開く(自分の Google Drive への保存を忘れないこと ← 忘れるとせっかくの作業内容を保存できませんよ)

  2. 配列

  3. 文字列と文字


条件分岐

if 条件1:
    ブロック
elif 条件2:
    ブロック
elif 条件3:
    ブロック
else:
    ブロック

繰り返し

# 条件が成立している間の繰り返し
while 条件:
    ブロック

# i = 0, 1, ..., n-1 についての繰り返し
for i in range(n):
    ブロック

# i = m, m+1, ..., n-1 についての繰り返し
for i in range(m, n):
    ブロック

# 配列の各要素 x の処理
for x in 配列:
    ブロック

# 文字列の各文字 c の処理
for c in 文字列:
    ブロック

文字列の操作

文字列とその長さ

s = 'Congraturations!'
n = len(s)

文字列の要素の参照:

  • s[0] => C: 最初の文字
  • s[1] => o: 二番目の文字
  • s[k]: \(k\)番目の文字
  • s[-1] => !: 一番右の文字
  • s[-3] => n: 右から3番目の文字

部分文字列の参照:

  • s[3:] => graturations!: インデックス3以後の文字からなる文字列
  • s[3:5] => ng: インデックスが3, 4 の文字からなる部分文字列
  • s[2:-2] => ngraturation: 左右端から2文字を除外した部分文字列
  • s[:] == s[0:] => Congraturations!

文字列の連結

  • s1 + s2 + s3

Python の演算子

算術演算子 使用例 意味
+ x + y xyの加算
- x - y xyの減算
* x * y xyの乗算
// x // y xyで割った商
% x % y xyで割った余り
** x ** y xy
関係演算子 使用例 意味
<= x <= y xyより小さいか等しい
< x < y xyより小さい
== x == y xyと等しい
!= x != y xyと等しくない
> x > y xyより大きい
>= x >= y xyより大きいか等しい
論理演算子 使用例 意味
and x and y xyの論理積(両方が真のときだけ真)
or x or y xyの論理和(両方が偽のときだけ偽;少なくとも一方が真のとき真)
not not x xの否定(xが真のとき偽、xが偽のとき真)