P44
●4行のステートメント
a = 10
b = 20
ans = a + b
ans
●ステートメントを;で区切ったコード
xxxxxxxxxx
a = 10; b = 20; ans = a + b
ans
●改行で区切られた4行のステートメント
xxxxxxxxxx
a = 10
b = 20
ans = a + b
print(ans)
P45
●セミコロンをステートメントの区切りに利用したコード
xxxxxxxxxx
a = 10; b = 20; ans = a + b
print(ans)
P46 ●コメント文を付けたコード
xxxxxxxxxx
r = 25 # 半径
pi = 3.14 # 円周率
len = 2 * pi * r # 円周の長さ
len
●台形の面積を求める
xxxxxxxxxx
a = 30 # 上辺
b = 50 # 下辺
h = 10 # 高さ
area = (a+b)*h/2
print(area)
P47
●ステートメントを途中で改行する
xxxxxxxxxx
price = 1200 + 400 + 680 + 500 # 手数料
price
●複数行の文字列を利用したコメント
xxxxxxxxxx
a = 10
b = 20
"""
この範囲はコメントとして
実行時には無視されます。
"""
ans = a + b
print(ans)
●変数aと変数A a = 10 A = 20 print(a) print(A)
P48
●print()で値を表示する
xxxxxxxxxx
print(100)
a = 200
print(a)
print(1+2)
●print()で式の結果を表示する
xxxxxxxxxx
a = 100; b = 200
print(a+b)
●print()で複数の値を表示する
xxxxxxxxxx
a = 100; b = 200; c = 300
print(a, b, c)
P50
●整数を使った計算
xxxxxxxxxx
a = -3
b = 0
c = 5
a + b + c
●浮動小数点(小数点がある数値)
xxxxxxxxxx
a = 0.08
b = 98.5
c = -3.5
print(a, b, c)
●整数部または小数点以下の0を省略した書き方
xxxxxxxxxx
a = .99
b = 10.
print(a, b)
●指数表記の浮動小数点
xxxxxxxxxx
print(1.23e+7)
print(9.6e-4)
P51
●整数と浮動小数点の計算
xxxxxxxxxx
print(10.3 + 0.5)
print(10 - 1.23)
print(120 * 0.1)
print(1.08 * 100)
●整数同士の割り算
xxxxxxxxxx
120 / 2
●小数点以下を四捨五入する
xxxxxxxxxx
round(23.5)
●小数点以下2位を四捨五入する
xxxxxxxxxx
v = 23.51
round(v,2)
P52
●2進数、8進数、16進数の数値
xxxxxxxxxx
0b0101 # 2進数
xxxxxxxxxx
0o011 # 8進数
xxxxxxxxxx
0xFF # 16進数
●2進数の足し算
xxxxxxxxxx
0b0101 + 0b0010
●2進数の計算結果を文字列で出力する
xxxxxxxxxx
bin(0b0101 + 0b0010)
●1j の2乗が -1 になるかどうか確かめる
xxxxxxxxxx
1j * 1j
P53
●複素数同士の足し算
xxxxxxxxxx
a = (1.5 + 3j)
b = (2 + 1j)
a + b
●複素数同士の掛け算
xxxxxxxxxx
(10+2j) * (2+5j)
●複素数の実部と虚部を取り出す
xxxxxxxxxx
v = 3 + 2j
v.real
xxxxxxxxxx
v.imag
●複素数をcomplex(re, im)で作る
xxxxxxxxxx
v = complex(3, 2)
v
P54
●350個のボールを12個ずつ箱に入れる
xxxxxxxxxx
all = 350 # 全部の個
per = 12 # 1箱に12個入れる
all // per # 完成する箱数
xxxxxxxxxx
all % per # 余る個数
●2の3乗
xxxxxxxxxx
2**3
P55
●文字列の例
xxxxxxxxxx
msg = "こんにちは"
where = "箱根"
language = "Python 3"
print(msg, where, language)
●ダブルクォートを含んだ文字列
xxxxxxxxxx
ai = 'いわゆる"人工知能"です。'
print(ai)
●シングルクォートを含んだ文字列
xxxxxxxxxx
ai = "いわゆる'人工知能'です。"
print(ai)
●改行を含んだ文字列
xxxxxxxxxx
colors = "選んだ色は\n緑\n黄色"
print(colors)
P56
●ダブルクォートを含んだ文字列
xxxxxxxxxx
msg = "それは\"Python 3\"です。"
print(msg)
●"""で囲んだ複数行の文字列
xxxxxxxxxx
poem = """ほとどぎす
鳴きつる方をながむれば
ただ有明の月ぞ残れる"""
poem
●複数行の文字列をprint()で出力する
xxxxxxxxxx
print(poem)
●\nを入力した複数行の文字列
xxxxxxxxxx
neko = "我が輩は猫である。\n名前はまだ無い。"
print(neko)
P57
●文字列を連結する
xxxxxxxxxx
name = "鈴木" + "さん"
name
●変数にa、b、cに入れた文字列を連結した文字列を作る
xxxxxxxxxx
a = "Pen"
b = "Pine"
c = "Apple"
d = a + b + c
print(d)
P58
●数値と文字列を連結するとエラーになる
xxxxxxxxxx
price = 2500 + "円"
●数値を文字列に変換して連結する
xxxxxxxxxx
price = str(2500) + "円"
price
●計算結果を文字列に変換して連結する
xxxxxxxxxx
tanka = 80
kosu = 3
price = str(tanka * kosu) + "円"
price
●複数文字の繰り返しを作る
xxxxxxxxxx
print("a" * 3)
print("abc" * 3)
●文字の繰り返しを棒グラフ代わりにする
xxxxxxxxxx
symbol = "*"
print("東京", symbol * 12)
print("金沢", symbol * 6)
P59
●文字を取り出す
xxxxxxxxxx
id = "ab1cd9x"
id[2] # 先頭から3文字目
xid[-1] # 後ろから1文字目
●文字位置の値を変更できない 。エラーになる
xid[2] = "w"
P60
●部分文字列を取り出す
xs = "The quick brown fox jumps."
print(s[:]) # 全部
print(s[4:]) # 5文字目から最後まで
print(s[4:4+5]) # 5文字目から5文字
print(s[:-7]) # 先頭から、後ろから数えて7文字目まで
P61
●文字列から1つ飛ばしで文字を取り出す
xnum = "0123456789"
print(num[::2])
●4文字目から1文字飛ばしで取り出す
xdata = "abc0123456789"
print(data[3::2])
●文字列の後ろから1つ飛ばしで文字を取り出す
xxxxxxxxxx
num = "0123456789"
num[::-2] # 後ろから1文字飛ばし
●文字列を逆順にする
xxxxxxxxxx
s = "あいうえおかきくけこ"
s[::-1]
P62
●値が等しければ True、等しくなければ False
xa = 3 ; b = 3 ; c = 5
print(a == b)
xprint(a == c)
●値が等しくないとき True、等しいときFalse
xa = 3 ; b = 3 ; c = 5
print(a != b)
print(a != c)
●aがbより大きいときTrue
xa = 60 ; b = 45
print(a > b)
●aが50以上のときTrue
xa = 50
print(a >= 50)
P63
●ageが16なのでTrue
xage = 16
13 <= age < 20
●論理積
xTrue and True
●論理和
xprint(True and False)
print(True or True)
print(True or False)
print(False or False)
P64
●否定
xprint(not True)
print(not False)
●変数aが50以上かつ100以下のときTrue。80なのでTrue
xxxxxxxxxx
a = 80
(a >= 50) and (a <= 100)
●変数aが50以上かつ100以下のときTrue。110なのでFalse
xxxxxxxxxx
a = 110
(a >= 50) and (a <= 100)
●変数a、bのどちらかが"OK"ならばTrue。変数bが"OK"なのでTrue
xa = "NG" ; b = "OK"
(a == "OK") or (b == "OK")
print(True + False) # 1 + 0 で計算
print(True + True) # 1 + 1 で計算
print(1 and 1 ) # True and Trueと同じ
print(1 or 0)
P65 [MEMO]True、False、1、0以外の値が論理式で使われたとき
xprint(2 or 3) # 左項を採用
print(2 and 3) # 右項を採用
P66
●左に1桁シフトすると値が2倍になる
xxxxxxxxxx
a = 0b001011
print(a)
a << 1
bin(a)
●左にシフトされた値を2進数表記で確認する
xa = 0b001011
bin(a << 1)
●ビットマスクで下3桁を取り出す
必要な部分を1にした値とANDすることで、数値から必要なビットを 抜き出すことができます。これをビットマスクと言います。
a = 0b100110
bin(a & 0b111)
●途中の2ビットを取り出す 途中のビットを抜き出したいときは値をシフトしてからビットマスク します。
xa = 0b10101
bin((a>>1) & 0b11) # 先に右へ1桁シフトしてからビットマスクする
P67
●値の型を調べる
xxxxxxxxxx
type(1)
●float型とstr型
xn = 12.3 ; name = "山田"
print(type(n))
print(type(name))
●文字列と数値を +演算子で連結しようとするとエラーになる
xlen = 10 * 1.23
ans = "長さ" + len + "cm"
●数値をstr()で文字列にして連結する
xxxxxxxxxx
ans = "長さ" + str(len) + "cm"
ans
P68
●str()で論理値を文字列に型変換する
xxxxxxxxxx
ans = "5<10は" + str(5<10) + "です"
ans
●文字列を数値に型変換して数値計算する
xprint(int("250") * 3) # 整数に型変換
print(float("1.5") + 0.2) # 浮動小数点に型変換
●浮動小数点を整数にする
xprint(int(12.9))
[MEMO]数値を2進数、8進数、16進数で表記した文字列に変換する
xprint(bin(10))
print(oct(10))
print(hex(10))
P69
●変数に値を代入して使い始める
xwidth = 20.0
hight = 10.0
area = width * hight / 2
print(area)
P70
●文字列が入っていた変数に数値を代入する
xprice = "未定"
price = 120 * 2
print(price)
P71
●変数自身を計算に使う式
xxxxxxxxxx
age = 19
age = age + 1
print(age)
●複合代入演算子 += を利用した場合
xage = 19
age += 1
print(age)
●pointを2倍にする
xpoint = 10
point *= 2
print(point)
P72
複合代入演算子
●文字列を += で連結する
xwho = "猫"
text = ""
text += "我が輩は"
text += who
text += "である。"
print(text)
●変数wallet1に100を入れる
xwallet1 = 100
print(wallet1)
●変数wallet2にwallet1を代入する
xwallet2 = wallet1
print(wallet2)
●wallet1の中身を確認する
xprint(wallet1)