answer8_3.py
course = input("コース料理?").split()
dessert = input("デザート?").split()
print(f"コース:{course}")
print(f"デザート:{dessert}")
for i in range(len(course)):
if course[i] == "デザート":
# 「デザート」という要素から成る長さ1のスライスを、
# 具体的なデザートの並びを持つスライスで置き換える
course[i:i+1] = dessert
for dish in course:
print(f"お待たせしました、{dish}です。")
# 章末問題 8章【3】解答例
#
# 1行目と2行目では、キーボードから得た文字列がinputの戻り値となるため、
# その文字列のメソッドsplitをすぐに呼び出してリストに分割しています。
#
# 「デザート」という1要素の代わりにデザートのリストを挿入したいので、
# 5行目からのループを使って、入力されたコース料理の要素の最初から順に、
# 「デザート」という要素を探します(6行目のif文)。見つかったら、
# course[i:i+1]というスライス(「デザート」という要素だけを持つ、
# 長さ1のスライス)に、デザートのリストdesertを代入して(9行目)、
# スライスを置き換えます。
#
# もしそこでcourse[i] = dessertとしてしまうと、1つの要素にリストが
# 代入されるので、
#
# お待たせしました、['ティラミス', 'カスタードプリン']です。
#
# などと出力されるでしょう。