Pythonの条件分岐と反復処理の実践

条件分岐の基本

条件分岐の実例:

point = int(input('点数を入力(0~100の整数):'))
if point < 60:
    print('不合格')
elif point < 70:
    print('合格')
point = int(input('点数を入力(0~100の整数):'))
if point < 60:
    print(f'点数は{point}です')
    print('不合格')
else:
    pass  # 空操作としてのプレースホルダー

反復処理の実装

for文による反復

基本構文:
for 変数 in 反復可能オブジェクト:
  実行文

リストの反復処理:

languages = ['Python', 'C++', 'Java']
for item in languages:
    print(item)

辞書の反復処理:

lang_rank = {'Python': 1, 'C++': 2, 'Java': 3}
for key in lang_rank:
    print(f'{key}:{lang_rank[key]}')

数値範囲の生成にはrange関数を使用:

print(list(range(1, 5, 2)))     # [1, 3]
print(list(range(5, -1, -2)))   # [5, 3, 1]
print(list(range(1, 5)))        # [1, 2, 3, 4]
print(list(range(5)))           # [0, 1, 2, 3, 4]

数値の合計計算:

limit = int(input('正の整数を入力:'))
total = 0
for num in range(1, limit + 1):
    total += num
print(total)

奇数の合計計算:

limit = int(input('正の整数を入力:'))
total = 0
for num in range(1, limit + 1, 2):
    total += num
print(total)

while文による反復

基本構文:
while 条件式:
  実行文

数値の合計計算:

limit = int(input('正の整数を入力:'))
counter, total = 1, 0
while counter <= limit:
    total += counter
    counter += 1
print(total)

奇数の合計計算:

limit = int(input('正の整数を入力:'))
counter, total = 1, 0
while counter <= limit:
    total += counter
    counter += 2
print(total)

インデックスと要素の同時取得

len関数とrange関数を組み合わせた方法:

languages = ['Python', 'C++', 'Java']
for index in range(len(languages)):
    print(index, languages[index])

enumerate関数を使用した方法:

languages = ['Python', 'C++', 'Java']
for index, value in enumerate(languages):
    print(index, value)
languages = ['Python', 'C++', 'Java']
for index, value in enumerate(languages, 1):
    print(index, value)

ループ制御

breakによるループ脱出

素数判定の実装:

for number in range(2, 101):
    max_divisor = int(number ** 0.5)
    divisor = 2
    while divisor <= max_divisor:
        if number % divisor == 0:
            break
        divisor += 1
    if divisor > max_divisor:
        print(number, end=' ')

continueによる次回処理への移行

3の倍数の合計計算:

total = 0
while True:
    value = int(input('整数を入力(0で終了):'))
    if value == 0:
        break
    if value % 3 != 0:
        continue
    total += value
print(f'3の倍数の合計: {total}')

else節の活用

素数判定におけるelseの使用:

number = int(input('1より大きい整数を入力:'))
max_divisor = int(number ** 0.5)
for divisor in range(2, max_divisor + 1):
    if number % divisor == 0:
        break
else:
    print(f'{number}は素数です')

タグ: Python 条件分岐 反復処理 for文 while文

7月16日 21:41 投稿