-
Notifications
You must be signed in to change notification settings - Fork 4k
/
mouredev.py
50 lines (32 loc) · 1.23 KB
/
mouredev.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
import calendar
class AdventCalendar:
def __init__(self):
self.days = [False] * 24
def display(self):
for row in range(0, 24, 6):
print("**** " * 6)
print(
" ".join([f"*{str(day).zfill(2)}*" if not self.days[day - 1] else "****" for day in range(row + 1, row + 7)]))
print("**** " * 6)
print()
def select(self, day):
is_digit = day.isdigit()
if is_digit and int(day) > 0 and int(day) <= 24:
day = int(day)
if self.days[day - 1]:
print(
f"El día {day} ya está descubierto. Selecciona otro diferente.")
else:
self.days[day - 1] = True
print(f"Has abierto el día {day}.")
else:
print("Selección inválida. Debes introducir un número entre 1 y 24.")
advent_calendar = AdventCalendar()
while True:
advent_calendar.display()
selection = input(
"Selecciona el día que quieres descubrir (o escribe 'salir' para finalizar): ")
if selection.lower() == "salir":
print("Finalizando el calendario de adviento... ¡Felices fiestas!")
break
advent_calendar.select(selection)