このディレクトリの索引

# 出典 :: Python の宿題ここで答えます Part 1 #972 # 1. コンピュータは乱数を用いて正解となる値を生成する.値は1以上100以下の整数とする. # 2. 人間はその数を推測し,キーボードから入力する. # 3. 入力された値が正解であれば,「正解です」というメッセージと何回目の入力で正解したかを表示して終了する. # 4. 入力された数が正解より大きければ,「大きすぎます」と表示して2.へ戻る # 5. 入力された数が正解より小さければ,「小さすぎます」と表示して2.へ戻る # 'キーボードから入力された値が正解となるまで推測して値を入力する' :- 'コンピュータは乱数を用いて正解となる値を生成する'(_正解となる値), '人間はその数を推測し,キーボードから入力する'(_推測した数), '正解が得られるまで、キーボード入力を続ける'(1,_正解となる値,_推測した値). 'コンピュータは乱数を用いて正解となる値を生成する'(_正解となる値) :- _正解となる値 is random(100) + 1. '値は1以上100以下の整数とする'(_乱数値,_値) :- _値 is _乱数値 mod 100. '人間はその数を推測し,キーボードから入力する'(_推測した数) :- 整数を得る(_推測した数). '正解が得られるまで、キーボード入力を続ける'(N,_コンピュータの用意した正解,_キーボードから入力さた値) :- '入力された値が正解であれば,「正解です」というメッセージと何回目の入力で正解したかを表示して'(N,_コンピュータの用意した正解,_キーボードから入力さた値),!. '正解が得られるまで、キーボード入力を続ける'(N,_コンピュータの用意した正解,_キーボードから入力さた値) :- '入力された数が正解より大きければ,「大きすぎます」と表示する'(_コンピュータの用意した正解,_キーボードから入力さた値), N2 is N + 1, '正解が得られるまで、キーボード入力を続ける'(N2,_コンピュータの用意した正解,_キーボードから入力さた値). '正解が得られるまで、キーボード入力を続ける'(N,_コンピュータの用意した正解,_キーボードから入力さた値) :- '入力された数が正解より小さければ,「小さすぎます」と表示する'(_コンピュータの用意した正解,_キーボードから入力さた値), N2 is N + 1, '正解が得られるまで、キーボード入力を続ける'(N2,_コンピュータの用意した正解,_キーボードから入力さた値). 入力された値が正解であれば,「正解です」というメッセージと何回目の入力で正解したかを表示して(N,_コンピュータの用意した正解,_キーボードから入力さた値) :- _コンピュータの用意した正解 = _キーボードから入力さた値, writef('正解です。 %w回目の解答でした\n',[N]). 入力された数が正解より大きければ,「大きすぎます」と表示する(_コンピュータの用意した正解,_キーボードから入力さた値) :- _コンピュータの用意した正解 < _キーボードから入力さた値, write('大きすぎます\n'). 入力された数が正解より小さければ,「小さすぎます」と表示する(_コンピュータの用意した正解,_キーボードから入力さた値) :- _コンピュータの用意した正解 > _キーボードから入力さた値, write('小さすぎます\n'). 整数を得る(_整数) :- 行入力(_行), 整数検査(_行,_整数),!. 整数検査(_行,_整数) :- atom_number(_行,_整数), integer(_整数). 行入力(_行) :- read_line_to_codes(current_input,_コードならび), atom_codes(_行,_コードならび).