質問するログイン新規登録

回答編集履歴

5

f

2020/06/19 07:41

投稿

kotori_a
kotori_a

スコア898

answer CHANGED
@@ -6,8 +6,8 @@
6
6
   print(guess)
7
7
   #表示されたguessとユーザーがあらかじめ用意していた答えの数値を、*ユーザーが頭の中で正しく比較評価した上で、下記h, l ,sのいずれかを正直に入力する*。(一応h, l, s以外の文字が入力された場合も対応している)
8
8
   input(正解y or 高すぎh or低すぎl)
9
-  if 入力値がh => high=guess-1
9
+  if 入力値がh => high=guess
10
-  elif l => low=guess+1
10
+  elif l => low=guess
11
11
   elif y => break(whileループから抜ける)
12
12
   else もう一度input #ユーザーの入力誤りがない前提ならばここは省略してもよい
13
13
   (whileループ繰り返し)

4

f

2020/06/19 07:41

投稿

kotori_a
kotori_a

スコア898

answer CHANGED
@@ -3,11 +3,13 @@
3
3
  初期値:high=100, low=0
4
4
  while True:
5
5
   コンピュータの推測値guess=int((high+low)/2)
6
+  print(guess)
7
+  #表示されたguessとユーザーがあらかじめ用意していた答えの数値を、*ユーザーが頭の中で正しく比較評価した上で、下記h, l ,sのいずれかを正直に入力する*。(一応h, l, s以外の文字が入力された場合も対応している)
6
8
   input(正解y or 高すぎh or低すぎl)
7
9
   if 入力値がh => high=guess-1
8
10
   elif l => low=guess+1
9
11
   elif y => break(whileループから抜ける)
10
-  else もう一度input
12
+  else もう一度input #ユーザーの入力誤りがない前提ならばここは省略してもよい
11
13
   (whileループ繰り返し)
12
14
  print(正解)
13
15
  ```

3

f

2020/06/19 04:30

投稿

kotori_a
kotori_a

スコア898

answer CHANGED
@@ -1,4 +1,4 @@
1
- 一晩愚直なアルゴリズムですが
1
+ 愚直なアルゴリズムですが
2
2
  ```
3
3
  初期値:high=100, low=0
4
4
  while True:

2

f

2020/06/19 04:16

投稿

kotori_a
kotori_a

スコア898

answer CHANGED
@@ -12,4 +12,4 @@
12
12
  print(正解)
13
13
  ```
14
14
  というように範囲を狭めていくアプローチがあると思います。
15
- (上記は厳密ではなく、端数処理について検証していないため正解にたどり着けないパターンがある可能性が考えられるかもしれません)
15
+ (上記は厳密ではなく、端数処理について検証していないため正解にたどり着けないパターンがあるかもしれません。詳細は他の方が言われているようにように二分探索アルゴリズムのスクリプトを参照してください

1

f

2020/06/19 03:40

投稿

kotori_a
kotori_a

スコア898

answer CHANGED
@@ -1,5 +1,5 @@
1
- 一晩愚直なアルゴリズムですが
1
+ 一晩愚直なアルゴリズムですが
2
-
2
+ ```
3
3
  初期値:high=100, low=0
4
4
  while True:
5
5
   コンピュータの推測値guess=int((high+low)/2)
@@ -10,6 +10,6 @@
10
10
   else もう一度input
11
11
   (whileループ繰り返し)
12
12
  print(正解)
13
-
13
+ ```
14
14
  というように範囲を狭めていくアプローチがあると思います。
15
15
  (上記は厳密ではなく、端数処理について検証していないため正解にたどり着けないパターンがある可能性が考えられるかもしれません)