PUROGU LADESU

ポエムがメインのブログです。

速習Python:制御フロー

if

インデントとしてスペース4つが必須。スペースの数が違うとエラー。

if x < 0:
print('')
elif:
print('')
else:
print('')

cost = 0 if (ac == bc) else 1

演算子

/ 除算 結果はfloat
// 切り捨て除算 結果は整数だがfloatの可能性もある(要注意)
% 余り 結果はint or float

if a > 0 and b > 0:
if a > 0 or b > 0:
if x in y:
if x not in y:

値の有無の確認

ifでfalseになるもの False, 0, '', [], (), {} など

if is_ok:
if not is_ok: # Falseの場合notを使う

Noneとis

PythonではnullはNoneで表現
if xxx is None:
if xxx is not None:

1 == True # 値の比較
1 is True # オブジェクトの比較

繰り返し

while count < 5:
break
continue
else:
print('breakで抜けたら実行されない。break時は実行したくない処理')

while

while count < 5:
break
continue
else:
print('breakで抜けたら実行されない。break時は実行したくない処理')

listや文字列の繰り返し

for char in 'abcde':
print(char)
else:
print('end')

range 指定した回数をループする

for _ in range(10):
print('hallo')

for i in range(2, 5):
print(i)

enumurate リストのインデクスも取得

for i, val in enumerate(['aa', 'bb', 'cc']):
print(i, val)

zip

複数の配列を同時にループさせる(長さが違うと短いものに合わせる)

days = ['mon','tue','wed']
chefs = ['bob','tony','jack']
hours = [5,8,7]

for day, chef, hour in zip(days, chefs, hours):
print(day, chef, hour)

辞書のループ

items()でリスト化。キーの順番は保証される
fruits = {'banana':100, 'apple': 200}
for key, val in fruits.items():
print(key, val)