Skip to content

Commit 29fd086

Browse files
committed
create utils.py, add functions for repetitive actions, imports have been corrected
1 parent 7c6f159 commit 29fd086

File tree

7 files changed

+30
-18
lines changed

7 files changed

+30
-18
lines changed

brain_games/constants.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
GREETING = 'Welcome to the Brain Games!\n''May I have your name?'
1+
GREETING = [
2+
'Welcome to the Brain Games!\n'
3+
'May I have your name?'
4+
]
25
EVEN_GAME_BRIEFING = 'Answer "yes" if the number is even, otherwise answer "no".'
36
CALC_GAME_BRIEFING = 'What is the result of the expression?'
47
GCD_GAME_BRIEFING = 'Find the greatest common divisor of given numbers.'

brain_games/games/calc.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
import random
1+
from brain_games.utils import get_random_number, get_random_choice
22
from brain_games.game_engine import game_engine
33
from brain_games.constants import MATH_SYMBOLS
44
from brain_games.constants import CALC_GAME_BRIEFING
55

66

77
def get_expression_and_answer():
8-
num1, num2 = random.randint(1, 21), random.randint(1, 11)
9-
random_symbol = random.choice(MATH_SYMBOLS)
8+
num1, num2 = get_random_number(20), get_random_number(10)
9+
10+
random_symbol = get_random_choice(MATH_SYMBOLS)
1011
expression = f'{str(num1)} {random_symbol} {str(num2)}'
1112
answer = str(eval(expression))
1213
return expression, answer

brain_games/games/even.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import random
1+
from brain_games.utils import get_random_number
22
from brain_games.game_engine import game_engine
33
from brain_games.constants import EVEN_GAME_BRIEFING
44

@@ -10,7 +10,7 @@ def is_even(number):
1010

1111

1212
def get_random_num_and_answer():
13-
random_number = random.randint(1, 101)
13+
random_number = get_random_number()
1414
even_check = is_even(random_number)
1515
return random_number, even_check
1616

brain_games/games/gcd.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import random
2-
1+
from brain_games.utils import get_random_number
32
from brain_games.game_engine import game_engine
43
from brain_games.constants import GCD_GAME_BRIEFING
54

@@ -11,7 +10,7 @@ def get_greatest_common_divisor(num1, num2):
1110

1211

1312
def get_random_numbers_and_answer():
14-
num1, num2 = random.randint(1, 101), random.randint(1, 101)
13+
num1, num2 = get_random_number(), get_random_number()
1514
question = f'{num1} {num2}'
1615
answer = str(get_greatest_common_divisor(num1, num2))
1716
return question, answer

brain_games/games/prime.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import random
2-
1+
from brain_games.utils import get_random_number
32
from brain_games.game_engine import game_engine
43
from brain_games.constants import PRIME_GAME_BRIEFING
54

@@ -14,7 +13,7 @@ def is_prime(number):
1413

1514

1615
def get_random_number_and_answer():
17-
random_number = random.randint(1, 101)
16+
random_number = get_random_number()
1817
return str(random_number), is_prime(random_number)
1918

2019

brain_games/games/progression.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
1-
import random
2-
1+
from brain_games.utils import get_random_number, get_random_choice
32
from brain_games.game_engine import game_engine
4-
# from brain_games.constants import STEP_OF_SEQUENCE
53
from brain_games.constants import PROG_GAME_BRIEFING
4+
# from brain_games.constants import STEP_OF_SEQUENCE
65

76

87
def get_random_sequence_and_answer():
9-
random_step = random.choice(STEP_OF_SEQUENCE)
10-
start_number = random.randint(1, 16)
8+
random_step = get_random_choice(STEP_OF_SEQUENCE)
9+
start_number = get_random_number(15)
1110
sequence = []
1211
sequence.append(start_number)
1312
for i in range(8):
1413
sequence += [sequence[i] + random_step]
1514
question = ''
16-
answer = random.choice(sequence)
15+
answer = get_random_choice(sequence)
1716
for i in range(len(sequence)):
1817
question += ' ' + str(sequence[i]) if sequence[i] != answer else ' ..'
1918
return question.strip(), str(answer)

brain_games/utils.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import random
2+
3+
4+
def get_random_number(range: int = 100) -> int:
5+
random_number = random.randint(1, range)
6+
return random_number
7+
8+
9+
def get_random_choice(collection: list[str]) -> str:
10+
random_choice = random.choice(collection)
11+
return random_choice

0 commit comments

Comments
 (0)