目的
チュートリアルの条件文とかループを中心に試してみる
※自分用の確認メモ
※switch case の代替実装に関しては TODO
サンプルコード
# Windows Add env PYTHONIOENCODING = UTF-8 & restart vscode
# if 条件式:
# if 条件式:
# 処理
# else:
# 処理
# elif 条件式:
# 処理
# else:
# 処理
month = 4
if (month == 12) or (month == 1) or (month == 2):
print("冬")
elif 3 <= month <= 5:
print("春")
elif 6 <= month <= 8:
print("夏")
else:
print("秋")
# 春
# リストの要素であるか
print(month in [12, 1, 2]) # False
print(month in [3, 4, 5]) # True
# rangeオブジェクトに含まれるか
# 3 <= month < 6
print(month in range(3, 6)) # True
# タプルの要素であるか
print(month in (3, 4, 5)) # True
# セットの要素であるか
print(month in {3, 4, 5}) # True
# 3項演算子
print("春" if month in [3, 4, 5] else "その他")
# 春
for loop
for n in range(6):
if n == 2:
print(n)
print('continue')
continue
elif n == 3:
print(n)
print('break')
break
else:
pass # なにも実行しない(サンプルのための例)
#print(n)
else: # break で loop out すると処理対象外となる
print('break なしで for loop 終了時のみ出力')
# 2
# continue
# 3
# break
while 文
edval = 4
count = 0
sum = 0
while count <= edval:
sum = sum + 1
count = count + 1
else:
print('while loop 終了')
print('合計 = ', sum)
# while loop 終了
# 合計 = 5
ループごとにインデックスと要素を取得
# enumerate関数
seasons = ["春", "夏", "秋", "冬"]
for index, season in enumerate(seasons):
print(str(index + 1) + ':' + season)
# 1:春 2:夏 3:秋 4:冬
#set はエラーになる
for num in range(len(seasons)):
print(str(num + 1) + ':' + seasons[num])
# 1:春 2:夏 3:秋 4:冬
zip関数:複数のリストから要素を順に取り出す
weekday1 = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
weekday2 = ["日", "月", "火", "水", "木", "金", "土"]
for (en, jp) in zip(weekday1, weekday2):
print(en + ':' + jp)
# Sun:日 Mon:月 Tue:火 Wed:水
# Thu:木 Fri:金 Sat:土
weekday1 = ["Sun", "Mon", "Tue"]
weekday2 = ["日", "月", "火", "水", "木", "金", "土"]
for (en, jp) in zip(weekday1, weekday2):
print(en + ':' + jp)
# Sun:日 Mon:月 Tue:火
参考にしたのは以下のサイト
4. その他の制御フローツール
5.6. ループのテクニック
Python に switch や case 文がないのはなぜですか?