Spaces:
Runtime error
Runtime error
add generate hint function
Browse files- 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 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
|
|
|
| 16 |
hints = [
|
| 17 |
-
f"What number will fill the gap in a sequence {
|
| 18 |
-
f"What number is {
|
| 19 |
-
f"What number is {
|
| 20 |
f"What number is greater than {right_answer - 1} and less than {right_answer + 1}?"
|
| 21 |
]
|
| 22 |
-
|
| 23 |
hints_used += 1
|
| 24 |
|
| 25 |
-
|
| 26 |
-
"text":
|
| 27 |
-
"question_numbers":
|
| 28 |
"right_answer": right_answer,
|
| 29 |
-
'number_correct':
|
| 30 |
-
'number_incorrect':
|
| 31 |
'level': level,
|
| 32 |
"hints_used": hints_used
|
| 33 |
}
|
| 34 |
-
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
|