解説1、2行目でbooks、priceの二つのリスト型変数を宣言しております。[1000,800,2000,1500]4行目でfor文を宣言してます。イテラブルオブジェクトには、「enumerate(~)」指定しているため、インデックス番号を格納するための変数、enumerateの引数の各要素を格納するための変数の2つの変数が必要になります。print('No',num,':',book,'の値段は',price,'円である。')インデックス番号を格納させる1つ目の変数にはnumを従えてますが、enumerateの引数にはzip関数を従えているため、2つ目の中には、zip関数のために2つの仮変数を従える必要があります。そのため2つ目の中には、booksの各要素を格納するbook、pricesの各要素を格納するpriceを従えてます。4行目の内容をイメージにすると以下の通りになります。7.1.3:zip関数とenumerate関数を使ったfor文ポイントzip関数は複数の配列を引数に従え、for文を介して各配列の各要素を取り出すことができる。enumerate関数は配列を引数に従え、for文を介してインデックス番号と各要素の値を取り出すことができる。