ここが間違いやすい
notation(進数)
02 bin 0b---08 oct 0o---
10 dec __---
16 hex 0x---
power(べき乗演算子の計算順序)
2**3**2 = 2**9 = 512 ⇒ つまり、右から計算される(2**3)**2 = 8**2 = 64 ⇒ ちなみに、左から計算すると値が異なる
計算したら、「.0」がつくかどうか?
1+1. => 2.0 (つく)1/1 => 1.0 (つく)
演算子
/ 商(少数)// 商(切り捨て)
% 余り
** べき乗(exponent)
~ ビット反転
& AND
| OR
^ XOR(excelだと、べき乗なので、注意!)
<<< <> 左シフト
>> 右シフト
is 等しい
is not 等しくない(notの位置に注意)
in 含む
not in 含まない(notの位置に注意)
rangeのデフォルト値
range(②start[0]、①stop、③step[1])引数は、丸数字の順序で解釈される。
省略した場合、[]が初期値として入る。
①stop とあるが、この値は処理しない。
start = stop の時は、何も処理しない。
start+step*n >= stop の時は、何も処理しない。
例題1 range(10)
range(0,10,1) ⇒ 0,1,2,3,4,5,6,7,8,9
例題2 range(3,5)
range(3,5,1) ⇒ 3,4
例題3 range(1,7,2)
range(1,7,2) ⇒ 1,3,5
例題4 range(5,5)
range(5,5,1) ⇒ start = stopなので、何も表示されない
例題5 range(5,5,-1)
range(5,5,-1) ⇒ start = stopなので、何も表示されない
例題6 range(5,0)
range(5,0,1) ⇒ start+step*n >= stopなので、何も表示されない
例題7 range(5,5)
range(5,0,-1) ⇒ 5,4,3,2,1
変数のswap
a,b,c=1,2,3 初期値a,b,c=c,b,a swap
a,b,c=c',b',a' こういう処理がされている
a=3,b=2,c=1 結果
a,b,c=1,2,3 初期値
a,b,c=a,a,a 右辺は、かぶっても
a,b,c=a',a',a' こういう処理がされているので
a=1,b=1,c=1 問題ない
a,b,c=1,2,3 初期値
b,b,b=a,b,c 左辺は、かぶってると
b,b,b=a',b',c' こういう処理がされているので
a=1,b=3,c=3 問題ない(上書き)