LoginSignup
0
0

More than 5 years have passed since last update.

Python の制御フローを少し試してみる

Posted at

目的

チュートリアルの条件文とかループを中心に試してみる
※自分用の確認メモ
※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 文がないのはなぜですか?

参考書

基礎 Python

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0