P44
●4行のステートメント
a = 10b = 20ans = a + bans
●ステートメントを;で区切ったコード
xxxxxxxxxxa = 10; b = 20; ans = a + bans
●改行で区切られた4行のステートメント
xxxxxxxxxxa = 10b = 20ans = a + bprint(ans)
P45
●セミコロンをステートメントの区切りに利用したコード
xxxxxxxxxxa = 10; b = 20; ans = a + bprint(ans)
P46 ●コメント文を付けたコード
xxxxxxxxxxr = 25 # 半径pi = 3.14 # 円周率len = 2 * pi * r # 円周の長さlen
●台形の面積を求める
xxxxxxxxxxa = 30 # 上辺b = 50 # 下辺h = 10 # 高さarea = (a+b)*h/2print(area)
P47
●ステートメントを途中で改行する
xxxxxxxxxxprice = 1200 + 400 + 680 + 500 # 手数料price
●複数行の文字列を利用したコメント
xxxxxxxxxxa = 10b = 20"""この範囲はコメントとして実行時には無視されます。"""ans = a + bprint(ans)
●変数aと変数A a = 10 A = 20 print(a) print(A)
P48
●print()で値を表示する
xxxxxxxxxxprint(100)a = 200print(a)print(1+2)
●print()で式の結果を表示する
xxxxxxxxxxa = 100; b = 200print(a+b)
●print()で複数の値を表示する
xxxxxxxxxxa = 100; b = 200; c = 300print(a, b, c)
P50
●整数を使った計算
xxxxxxxxxxa = -3b = 0c = 5a + b + c
●浮動小数点(小数点がある数値)
xxxxxxxxxxa = 0.08b = 98.5c = -3.5print(a, b, c)
●整数部または小数点以下の0を省略した書き方
xxxxxxxxxxa = .99b = 10.print(a, b)
●指数表記の浮動小数点
xxxxxxxxxxprint(1.23e+7)print(9.6e-4)
P51
●整数と浮動小数点の計算
xxxxxxxxxxprint(10.3 + 0.5)print(10 - 1.23)print(120 * 0.1)print(1.08 * 100)
●整数同士の割り算
xxxxxxxxxx120 / 2
●小数点以下を四捨五入する
xxxxxxxxxxround(23.5)
●小数点以下2位を四捨五入する
xxxxxxxxxxv = 23.51round(v,2)
P52
●2進数、8進数、16進数の数値
xxxxxxxxxx0b0101 # 2進数
xxxxxxxxxx0o011 # 8進数
xxxxxxxxxx0xFF # 16進数
●2進数の足し算
xxxxxxxxxx0b0101 + 0b0010
●2進数の計算結果を文字列で出力する
xxxxxxxxxxbin(0b0101 + 0b0010)

●1j の2乗が -1 になるかどうか確かめる
xxxxxxxxxx1j * 1j
P53
●複素数同士の足し算
xxxxxxxxxxa = (1.5 + 3j)b = (2 + 1j)a + b
●複素数同士の掛け算
xxxxxxxxxx(10+2j) * (2+5j)
●複素数の実部と虚部を取り出す
xxxxxxxxxxv = 3 + 2jv.real
xxxxxxxxxxv.imag
●複素数をcomplex(re, im)で作る
xxxxxxxxxxv = complex(3, 2)v
P54
●350個のボールを12個ずつ箱に入れる
xxxxxxxxxxall = 350 # 全部の個per = 12 # 1箱に12個入れるall // per # 完成する箱数
xxxxxxxxxxall % per # 余る個数

●2の3乗
xxxxxxxxxx2**3
P55
●文字列の例
xxxxxxxxxxmsg = "こんにちは"where = "箱根"language = "Python 3"print(msg, where, language)
●ダブルクォートを含んだ文字列
xxxxxxxxxxai = 'いわゆる"人工知能"です。'print(ai)
●シングルクォートを含んだ文字列
xxxxxxxxxxai = "いわゆる'人工知能'です。"print(ai)
●改行を含んだ文字列
xxxxxxxxxxcolors = "選んだ色は\n緑\n黄色"print(colors)
P56
●ダブルクォートを含んだ文字列
xxxxxxxxxxmsg = "それは\"Python 3\"です。"print(msg)
●"""で囲んだ複数行の文字列
xxxxxxxxxxpoem = """ほとどぎす鳴きつる方をながむればただ有明の月ぞ残れる"""poem
●複数行の文字列をprint()で出力する
xxxxxxxxxxprint(poem)
●\nを入力した複数行の文字列
xxxxxxxxxxneko = "我が輩は猫である。\n名前はまだ無い。"print(neko)
P57
●文字列を連結する
xxxxxxxxxxname = "鈴木" + "さん"name
●変数にa、b、cに入れた文字列を連結した文字列を作る
xxxxxxxxxxa = "Pen"b = "Pine"c = "Apple"d = a + b + cprint(d)
P58
●数値と文字列を連結するとエラーになる
xxxxxxxxxxprice = 2500 + "円"
●数値を文字列に変換して連結する
xxxxxxxxxxprice = str(2500) + "円"price
●計算結果を文字列に変換して連結する
xxxxxxxxxxtanka = 80kosu = 3price = str(tanka * kosu) + "円"price
●複数文字の繰り返しを作る
xxxxxxxxxxprint("a" * 3)print("abc" * 3)
●文字の繰り返しを棒グラフ代わりにする
xxxxxxxxxxsymbol = "*"print("東京", symbol * 12)print("金沢", symbol * 6)
P59
●文字を取り出す
xxxxxxxxxxid = "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つ飛ばしで文字を取り出す
xxxxxxxxxxnum = "0123456789"num[::-2] # 後ろから1文字飛ばし
●文字列を逆順にする
xxxxxxxxxxs = "あいうえおかきくけこ"s[::-1]
P62
●値が等しければ True、等しくなければ False
xa = 3 ; b = 3 ; c = 5print(a == b)
xprint(a == c)
●値が等しくないとき True、等しいときFalse
xa = 3 ; b = 3 ; c = 5print(a != b)print(a != c)
●aがbより大きいときTrue
xa = 60 ; b = 45print(a > b)
●aが50以上のときTrue
xa = 50print(a >= 50)
P63
●ageが16なのでTrue
xage = 1613 <= 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
xxxxxxxxxxa = 80(a >= 50) and (a <= 100)
●変数aが50以上かつ100以下のときTrue。110なのでFalse
xxxxxxxxxxa = 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倍になる
xxxxxxxxxxa = 0b001011print(a)a << 1bin(a)
●左にシフトされた値を2進数表記で確認する
xa = 0b001011bin(a << 1)
●ビットマスクで下3桁を取り出す
必要な部分を1にした値とANDすることで、数値から必要なビットを 抜き出すことができます。これをビットマスクと言います。
a = 0b100110bin(a & 0b111)


●途中の2ビットを取り出す 途中のビットを抜き出したいときは値をシフトしてからビットマスク します。
xa = 0b10101bin((a>>1) & 0b11) # 先に右へ1桁シフトしてからビットマスクする
P67
●値の型を調べる
xxxxxxxxxxtype(1)
●float型とstr型
xn = 12.3 ; name = "山田"print(type(n))print(type(name))
●文字列と数値を +演算子で連結しようとするとエラーになる
xlen = 10 * 1.23ans = "長さ" + len + "cm"
●数値をstr()で文字列にして連結する
xxxxxxxxxxans = "長さ" + str(len) + "cm"ans
P68
●str()で論理値を文字列に型変換する
xxxxxxxxxxans = "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.0hight = 10.0area = width * hight / 2print(area)
P70
●文字列が入っていた変数に数値を代入する
xprice = "未定"price = 120 * 2print(price)
P71
●変数自身を計算に使う式
xxxxxxxxxxage = 19age = age + 1print(age)
●複合代入演算子 += を利用した場合
xage = 19age += 1print(age)
●pointを2倍にする
xpoint = 10point *= 2print(point)
P72
複合代入演算子

●文字列を += で連結する
xwho = "猫"text = ""text += "我が輩は"text += whotext += "である。"print(text)
●変数wallet1に100を入れる
xwallet1 = 100print(wallet1)
●変数wallet2にwallet1を代入する
xwallet2 = wallet1print(wallet2)
●wallet1の中身を確認する
xprint(wallet1)