-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathf_card.py
52 lines (39 loc) · 1.58 KB
/
f_card.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
from enum import Enum
import print_and_log
class AnswerInDefinitions(Enum):
YES = "The answer in the definitions"
NO = "The answer is not in the definitions"
class Card:
def __init__(self, term, definition, mistakes=0):
self.term = term
self.definition = definition
self.mistakes = mistakes
# def save_card(self):
# return self
def num_input(logger):
message = "How many times to ask?"
logger.print_and_log(message)
# print()
num = logger.input_and_log()
if not num.isdigit():
message = "Please input a positive, integer number. Like 1, 5, or 154"
logger.print_and_log(message)
# print()
return num_input(logger)
return int(num)
def term_input(term_value: str, list_of_cards: list, logger: print_and_log.Logger) -> str:
for card_object in list_of_cards:
if term_value == card_object.term:
message = f'The term "{term_value}" already exists. Try again'
logger.print_and_log(message)
# print()
return term_input(logger.input_and_log(), list_of_cards, logger)
return term_value
def definition_input(definition_value: str, list_of_cards: list, logger: print_and_log.Logger) -> str:
for card_object in list_of_cards:
if definition_value == card_object.definition:
message = f'The definition "{definition_value}" already exists. Try again:'
logger.print_and_log(message)
# print()
return definition_input(logger.input_and_log(), list_of_cards, logger)
return definition_value