Commit 35a9e63d9a0c4ea4ffe85fe0226f1a39e8867f98
1 parent
14f8e674
Exists in
dev
change demo/math/addition
Showing
3 changed files
with
37 additions
and
40 deletions
Show diff stats
demo/math/addition/addition-two-digits.py
... | ... | @@ -1,20 +0,0 @@ |
1 | -#!/usr/bin/env python3 | |
2 | - | |
3 | -import random | |
4 | -import sys | |
5 | - | |
6 | -a = int(sys.argv[1]) | |
7 | -b = int(sys.argv[2]) | |
8 | - | |
9 | -x = random.randint(a, b) | |
10 | -y = random.randint(a, b) | |
11 | -r = x + y | |
12 | - | |
13 | -print(f'''--- | |
14 | -type: text | |
15 | -title: Adição de números com 2 algarismos | |
16 | -text: | | |
17 | - Qual o resultado da soma ${x}+{y}$? | |
18 | -correct: ['{r}'] | |
19 | -solution: | | |
20 | - O resultado é {r}.''') |
... | ... | @@ -0,0 +1,34 @@ |
1 | +#!/usr/bin/env python3 | |
2 | + | |
3 | +''' | |
4 | +This question generator expects two integer arguments. | |
5 | +These are the range for the number of coins in each pocket. | |
6 | +''' | |
7 | + | |
8 | +import random | |
9 | +import sys | |
10 | + | |
11 | +a = int(sys.argv[1]) | |
12 | +b = int(sys.argv[2]) | |
13 | + | |
14 | +x, y = random.sample(range(a, b), k=2) | |
15 | +r = x + y | |
16 | + | |
17 | +pocket1, pocket2 = random.sample(['left pocket', 'right pocket', 'wallet', | |
18 | + 'safe at home'], k=2) | |
19 | + | |
20 | +currency = random.choice(['Euros', 'US dollars', 'British pounds']) | |
21 | + | |
22 | +print(f'''--- | |
23 | +type: text | |
24 | +title: Adding two numbers | |
25 | +text: | | |
26 | + Suppose you have {x} {currency} in your {pocket1} and {y} in your | |
27 | + {pocket2}. | |
28 | + How many {currency} do you have? | |
29 | + | |
30 | + Just answer the number, for example `42`. | |
31 | +transform: ['trim'] | |
32 | +correct: ['{r}'] | |
33 | +solution: | | |
34 | + You have a total of {r} {currency}.''') | ... | ... |
demo/math/addition/questions.yaml
1 | 1 | --- |
2 | 2 | # --------------------------------------------------------------------------- |
3 | 3 | - type: generator |
4 | - ref: addition-two-digits | |
5 | - script: addition-two-digits.py | |
6 | - args: [10, 20] | |
7 | - | |
8 | -# --------------------------------------------------------------------------- | |
9 | -- type: checkbox | |
10 | - ref: addition-properties | |
11 | - title: Propriedades da adição | |
12 | - text: Indique quais as propriedades que a adição satisfaz. | |
13 | - options: | |
14 | - # right | |
15 | - - Existência de elemento neutro, $x+0=x$. | |
16 | - - Existência de inverso aditivo (simétrico), $x+(-x)=0$. | |
17 | - - Propriedade associativa, $(x+y)+z = x+(y+z)$. | |
18 | - - Propriedade comutativa, $x+y=y+x$. | |
19 | - # wrong | |
20 | - - Existência de elemento absorvente, $x+1=1$. | |
21 | - correct: [1, 1, 1, 1, 0] | |
22 | - solution: | | |
23 | - A adição não tem elemento absorvente. | |
4 | + ref: addition | |
5 | + script: addition.py | |
6 | + args: [2, 20] | ... | ... |