概要
*
ポイント
この課題で使うPythonの機能 (学習のヒント)
[ edit ]
- この例題のポイント ...
この例題における解法 (問題解決のヒント)
[ edit ]
- この例題における解法 (問題解決のヒント) ....
タプルでベクトルを表現しましょう.
- タプルは,変更不能な(イミュータブルな)オブジェクトです.
- データの組を表します.
- 順序があります.
- 変更可能な(ミュータブルな)オブジェクトであるリストで代用できることも多いでしょう.
- 意味合いとしては...
- タプルは,データの組として,何項目の要素はどういう意味を持つというように,順番に意味を持たせて使うことが多いでしょう.
- 途中で,長さが変りませんし...
- 例えば,1項目が名前の文字列で,2項目が年齢の数値というようなタプル
- 一方,リストは,同じ意味合いのデータを複数格納する容器として使うことも多い
- もちろん,リストだって項の順番に意味を持たせて使うことも少なくないので,その限りではありません.
- 追加していったり,削除したりと,やはり長さが変化しますので,何番目の要素が何を意味するといった使い方にそぐわないともいえるでしょう.
- タプルは,データの組として,何項目の要素はどういう意味を持つというように,順番に意味を持たせて使うことが多いでしょう.
- 意味合いとしては...
実行例
*
本質的な部分 (授業中に順次公開します)
[ edit ]
- n次元ベクトルに対応していますが,3次元ベクトルで試しましょう
# ===== 関数定義: 内積(ドット積)を求めます =====
def dot_product( v1, v2 ):
n = len( v1 )
p = 0.0;
for i in range( n ):
p += ( v1[i] * v2[i] )
return( p )
- n次元ベクトルに対応していますが,3次元ベクトルで試しましょう
# ===== 関数定義: ベクトルの入力を受け付けます =====
def input_vector( message ):
data_str = input( message )
str_tuple = data_str.split( "," )
float_list = list()
for s in str_tuple:
float_list.append( float( s ) )
v = tuple( float_list )
return( v )
高度な話題 (授業中,もしくは授業後に順次公開します)
[ edit ]
⇒ 高度な話題へのリンク: 授業の流れを阻害しないように別ページにします
- (後日の回の授業内容にはなる可能性がありますが,この回の授業内容には含めません).