練習問題
7.4 練習問題
本章で習った内容を元に練習問題を解いてください。
問1 次の設問①~⑤について○か×で答えなさい。
設問
① zip関数の引数に指定できる配列は2つである。
② enumerate関数とfor文を介して複数の配列の要素を取り出すことができる。
③ リスト内包表記を代入される変数のデータ型はリスト型である。
④ リスト内包表記を、条件を満たす場合、満たさない場合で返される要素の値を変えたい場合、三項演算子を使用する。
⑤ ジェネレータ内包表記が代入された変数は、イテレータとなる。
問2 以下に示すソースコードの①~⑤の内容を以下の出力結果になるように埋めなさい。
ソースコードソース・フォルダー: /Desktop/Python基礎講座
ファイル名: 第7章.ipynb
アクセスURL: http://localhost:8888/notebooks/Desktop/Python基礎講座/第7章.ipynb
books = ['Java','PHP','Python','Javascript'] prices = [800,1200,1500,2000] for book,price in ①(②,③): print(④ + 'の値段は' + str(⑤) + '円です。')
実行結果
Javaの値段は800円です。 PHPの値段は1200円です。 Pythonの値段は1500円です。 Javascriptの値段は2000円です。
問3 以下に示すソースコードにおいて以下の実行結果になるよう①~③の内容を、以下のソースコードの仕様に従って埋めなさい
books = ['Java','PHP','Python','Javascript'] prices = [800,1200,1500,2000] store = {① for book,price in ②} for key,value in store.③: print(key + 'の値段は' + str(value) + '円です。')
実行結果
Javaの値段は800円です。 PHPの値段は1200円です。 Pythonの値段は1500円です。 Javascriptの値段は2000円です。
ソースコードの仕様
① storeは辞書型変数であり、キーにbooksの各要素、値にpricesの各要素が格納されるよう、辞書内包表記を使用している。 (4行目)
② booksとpricesの各要素を取り出すために、辞書内包表記におけるインテラルオブジェクトにはとある関数を使用している。 (4行目)
③ 辞書型変数storeのキー、値のそれぞれを取り出せるよう、インテラルオブジェクトにはstoreのメソッドを使用している。(6行目)
問4 リスト型変数numbersの中身が同じになるよう、リスト内包表記を使って次のソースコードを書き換えなさい。
ソース・フォルダー: /Desktop/Python基礎講座
ファイル名: 第7章.ipynb
アクセスURL: http://localhost:8888/notebooks/Desktop/Python基礎講座/第7章.ipynb
numbers = [] for i in range(1,11): if i%2 != 0: numbers.append(i) else: numbers.append('偶数')