条件分岐の基本
条件分岐の実例:
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}は素数です')