2017年1月5日木曜日

開発環境

行列プログラマー(Philip N. Klein (著)、 松田 晃一 (翻訳)、 弓林 司 (翻訳)、 脇本 佑紀 (翻訳)、 中田 洋 (翻訳)、 齋藤 大吾 (翻訳)、オライリージャパン)の0章(関数(とその他の数学とオンピュータに関する予備知識))、0.5(ラボ: Python 入門 - 集合、リスト、辞書、内包表記)、0.5.6(タプル)、インデックス指定、集合体からのリストや集合の取得、課題 0.5.14、0.5.15、0.5.16、0.5.17を取り組んでみる。

課題 0.5.14、0.5.15、0.5.16、0.5.17

コード(Emacs)

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

print('5.14')
s = {-4, -2, 1, 2, 5, 0}
print([(i, j, k)
       for i in s
       for j in s
       for k in s
       if i + j + k == 0])

print('5.15')
print([(i, j, k)
       for i in s
       for j in s
       for k in s
       if i + j + k == 0 and not (i == 0 and j == 0 and k == 0)])

print('5.16')
print([(i, j, k)
       for i in s
       for j in s
       for k in s
       if i + j + k == 0 and not (i == 0 and j == 0 and k == 0)][0])

print('5.17')
l = [1, 1]
print(len(l) != len(list(set(l))))

入出力結果(Terminal, IPython)

$ ./sample14.py
5.14
[(0, 0, 0), (0, 2, -2), (0, -2, 2), (1, 1, -2), (1, -2, 1), (2, 0, -2), (2, 2, -4), (2, -4, 2), (2, -2, 0), (-4, 2, 2), (-2, 0, 2), (-2, 1, 1), (-2, 2, 0)]
5.15
[(0, 2, -2), (0, -2, 2), (1, 1, -2), (1, -2, 1), (2, 0, -2), (2, 2, -4), (2, -4, 2), (2, -2, 0), (-4, 2, 2), (-2, 0, 2), (-2, 1, 1), (-2, 2, 0)]
5.16
(0, 2, -2)
5.17
True
$

0 コメント:

コメントを投稿