sviddo commited on
Commit
8ea1d70
1 Parent(s): e267c97

add generate hint function

Browse files
Files changed (1) hide show
  1. scripts/quiz/hints.py +21 -23
scripts/quiz/hints.py CHANGED
@@ -1,34 +1,32 @@
1
- from random import random
2
-
3
-
4
  import random
5
 
6
- def generate_hint(question_numbers, right_answer, number_correct, number_incorrect, level, hints_used):
7
- ordinal_number = question_numbers[1]
8
- equation = right_answer - 2 * ordinal_number - 1
9
- least_number = equation if equation > 0 else 0
10
- seq_before_answer = " ".join(
11
- [str(num) for num in range(right_answer - ordinal_number, least_number, -ordinal_number)][::-1]
12
- )
13
- seq_after_answer = " ".join(
14
- [str(num) for num in range(right_answer + ordinal_number, right_answer + 2 * ordinal_number + 1, ordinal_number)]
15
- )
 
16
  hints = [
17
- f"What number will fill the gap in a sequence {seq_before_answer} ... {seq_after_answer}?",
18
- f"What number is {ordinal_number} in the account after {right_answer - ordinal_number}?",
19
- f"What number is {ordinal_number} in the account before {right_answer + ordinal_number}?",
20
  f"What number is greater than {right_answer - 1} and less than {right_answer + 1}?"
21
  ]
22
- random_hint = random.choice(hints)
23
  hints_used += 1
24
 
25
- data_to_return = {
26
- "text": random_hint,
27
- "question_numbers": question_numbers,
28
  "right_answer": right_answer,
29
- 'number_correct': number_correct,
30
- 'number_incorrect': number_incorrect,
31
  'level': level,
32
  "hints_used": hints_used
33
  }
34
- return data_to_return
 
 
 
 
1
  import random
2
 
3
+
4
+ def generate_hint(question_nums, right_answer, right_answers, wrong_answers, level, hints_used):
5
+ ord_num = question_nums[1] # ordinal number
6
+ equation = right_answer - 2 * ord_num - 1
7
+ min_num = equation if equation > 0 else 0
8
+ seq_before = " ".join(
9
+ [str(num) for num in range(right_answer - ord_num, min_num, -ord_num)][::-1]
10
+ ) # sequence before right answer
11
+ seq_after = " ".join(
12
+ [str(num) for num in range(right_answer + ord_num, right_answer + 2 * ord_num + 1, ord_num)]
13
+ ) # sequence after right answer
14
  hints = [
15
+ f"What number will fill the gap in a sequence {seq_before} ... {seq_after}?",
16
+ f"What number is {ord_num} in the account after {right_answer - ord_num}?",
17
+ f"What number is {ord_num} in the account before {right_answer + ord_num}?",
18
  f"What number is greater than {right_answer - 1} and less than {right_answer + 1}?"
19
  ]
20
+ rand_hint = random.choice(hints)
21
  hints_used += 1
22
 
23
+ output = {
24
+ "text": rand_hint,
25
+ "question_numbers": question_nums,
26
  "right_answer": right_answer,
27
+ 'number_correct': right_answers,
28
+ 'number_incorrect': wrong_answers,
29
  'level': level,
30
  "hints_used": hints_used
31
  }
32
+ return output