【Python第六章】ループ文 質問 if == health_examination[1]と print(‘候補{0}:{1}’.format(count,health_examination[0])) の部分の[1]、[0]はどこに該当するのでしょうか?
回答 ( 1 )
health_examination_dates は二次元リスト
(第六章の「リスト型を使ってみましょう」をご参照ください)です。
for 文でループを回しているので health_examination には 1周目には [‘3/10’, 1], 2周目には [‘5/12’, 2]… の一次元リストが代入されます。
よって health_examination[0] では ‘3/10’, ‘5/12’ のような値がループごとに取得でき、health_examination[1] では 1, 2 といった値が取得できます。
— 関連する箇所を抜粋しています —
# 来年の健康診断日程(男性を1, 女性を2で定義)
health_examination_dates = [[‘3/10’, 1], [‘5/12’, 2], [‘7/12′, 1], [’10/11’, 2]]
# 来年の健康診断日程をアナウンスする
print(‘来年の健康診断日程は以下です’)
# ★– 以下を繰り返し処理に書き換え実施 –★
count = 1 # 候補日カウント用
# 候補日と入力者の性別を比較して該当する日付のみアナウンスする
for health_examination in health_examination_dates: if sex == health_examination[1]:
print(‘候補{0}: {1}’.format(count, health_examination[0]))
count = count + 1