このディレクトリの索引

# 出典 :: Python の宿題ここで答えます Part 1 #964 # 1. キーボードから氏名と電話番号を読み込み,氏名をキー,電話番号を値としてディクショナリに格納する. # 2. 氏名として"END"が入力されるまで1.を繰り返す. # 3. "END"が入力されたら,ディクショナリの内容を "氏名\t電話番号\n" の形式でファイルに書き出す. # '1. キーボードから氏名と電話番号を読み込み,氏名をキー,電話番号を値としてディクショナリに格納する. 2. 氏名として"END"が入力されるまで1.を繰り返す. 3. "END"が入力されたら,ディクショナリの内容を "氏名\t電話番号\n" の形式でファイルに書き出す.'(_ディクショナリファイル) :- '1. キーボードから氏名と電話番号を読み込み,氏名をキー,電話番号を値としてディクショナリに格納する. 2. 氏名として"END"が入力されるまで1.を繰り返す.', '3. ディクショナリの内容を "氏名\t電話番号\n" の形式でファイルに書き出す.'(_ディクショナリファイル). '1. キーボードから氏名と電話番号を読み込み,氏名をキー,電話番号を値としてディクショナリに格納する. 2. 氏名として"END"が入力されるまで1.を繰り返す.' :- キーボードから(_行), '行を氏名と電話番号に分解する.氏名をキー,電話番号を値としてディクショナリに格納する.氏名として"END"が入力されるまで.'(_行). キーボードから(_行) :- 行入力(_行). 行入力(_行) :- read_line_to_codes(user_input,_コードならび), atom_codes(_行,_コードならび). '行を氏名と電話番号に分解する.氏名をキー,電話番号を値としてディクショナリに格納する.氏名として"END"が入力されるまで.'(_行) :- sub_atom(_行,0,3,_,'END'),!. '行を氏名と電話番号に分解する.氏名をキー,電話番号を値としてディクショナリに格納する.氏名として"END"が入力されるまで.'(_行) :- '行を氏名と電話番号に分解する.氏名をキー,電話番号を値としてディクショナリに格納して行く.'(_行). '行を氏名と電話番号に分解する.氏名をキー,電話番号を値としてディクショナリに格納して行く.'(_行) :- '行を氏名と電話番号に分解する.'(_行,_氏名,_電話番号), '氏名をキー,電話番号を値としてディクショナリに格納する.'(_氏名,_電話番号), '1. キーボードから氏名と電話番号を読み込み,氏名をキー,電話番号を値としてディクショナリに格納する. 2. 氏名として"END"が入力されるまで1.を繰り返す.'. '行を氏名と電話番号に分解する.'(_行,_氏名,_電話番号) :- 項目区切り(_行,[' ',','],[_氏名,_電話番号]). '氏名をキー,電話番号を値としてディクショナリに格納する.'(_氏名,_電話番号) :- assertz(ディクショナリ(_氏名,_電話番号)). '3. ディクショナリの内容を "氏名\t電話番号\n" の形式でファイルに書き出す.'(_ディクショナリファイル) :- tell(_ディクショナリファイル), 'ディクショナリの内容を "氏名\t電話番号\n" の形式でファイルに書き出す.', told. 'ディクショナリの内容を "氏名\t電話番号\n" の形式でファイルに書き出す.' :- forall( ディクショナリ(_氏名,_電話番号), writef('%t\t%t\n',[_氏名,_電話番号])). 項目区切り(_文字列,_区切り文字列ならび,_区切られた文字列ならび) :- 項目区切り(_文字列,_区切り文字列ならび,_使われている区切り文字ならび,_区切られた文字列ならび). 項目区切り(_文字列,_区切り文字列ならび,_使われている区切り文字ならび,_区切られた文字列ならび) :- 先頭から区切り文字列で区切って行く(_文字列,_区切り文字列ならび,_使われている区切り文字ならび,_区切られた文字列ならび),!. 項目区切り(_文字列,_,[],[_文字列]). 先頭から区切り文字列で区切って行く(_文字列,_区切り文字列ならび,[_区切り文字列|R1],[_前文字列|R2]) :- '区切り文字列で前文字列、後文字列に区切る'(_文字列,_区切り文字列ならび,_前文字列,_区切り文字列,_後文字列), 項目区切り(_後文字列,_区切り文字列ならび,R1,R2). '区切り文字列で前文字列、後文字列に区切る'(_文字列,_区切り文字列ならび,_前文字列,_区切り文字列,_後文字列) :- 副文字列(_文字列,_前文字列,_区切り文字列,_後文字列), member(_区切り文字列,_区切り文字列ならび). 副文字列(_文字列,_前文字列,_副文字列,_後文字列) :- atom_concat(_前文字列,_残り文字列,_文字列), atom_concat(_副文字列,_後文字列,_残り文字列). 文字列ならびの中で数値に変換可能なものは変換する(_文字列ならび,_項目ならび) :- findall(_項目,( 文字列を取り出し数値に変換可能なものは変換する(_文字列ならび,_項目)),_項目ならび). 文字列を取り出し数値に変換可能なものは変換する(_文字列ならび,_項目) :- member(_文字列,_文字列ならび), 数値に変換可能なものは変換する(_文字列,_項目). 数値に変換可能なものは変換する(_文字列,_項目) :- atom_number(_文字列,_項目),!. 数値に変換可能なものは変換する(_文字列,_文字列).