隆Te damos la bienvenida a este reto!

1

Empezando con Python desde 0

D铆a 1

2

Variables, funciones y sintaxis b谩sica

3

Tipos de datos: Numbers, Strings y Diccionarios

4

Playground - Retorna el tipo

D铆a 2

5

Operadores

6

Playground - Calcula la propina

D铆a 3

7

Condicionales

8

Playground - Averigua si un a帽o es bisiesto

9

Ciclos

10

Playground - Dibuja un triangulo usando bucles

D铆a 4

11

Listas

12

Encuentra a los gatitos m谩s famosos

13

Diccionarios

14

Obt茅n el promedio de los estudiantes

15

Tuplas

16

Obten la informaci贸n de los paquetes

D铆a 5

17

Calcula la cantidad de letras en una oraci贸n

18

Encuentra el mayor pal铆ndromo

D铆a 6

19

Sets

20

Encuentre la intersecci贸n de conjuntos

D铆a 7

21

List comprehension

22

Encuentra palabras con dos vocales

23

Dictionary Comprehension

24

Calcula la longitud de las palabras

D铆a 8

25

Funciones Lambda

26

Filtra mensajes de un user espec铆fico

27

Higher order functions

28

Crea tu propio m茅todo map

D铆a 9

29

Manejo de Errores y excepciones

30

Maneja correctamente los errores

31

Maneja las excepciones

D铆a 10

32

Playground - Crea un task manager usando closures

D铆a 11

33

Lectura de archivos de texto y CSV

D铆a 12

34

Programaci贸n orientada a objetos

35

Crea un auto usando clases

D铆a 13

36

Abstracci贸n en Python

37

Playground - Crea un sistema de carrito de compras

38

Encapsulamiento en Python

39

Playground - Encapsula datos de los usuarios

D铆a 14

40

Herencia en Python

41

Playground - Jerarqu铆a de animales usando herencia

D铆a 15

42

Polimorfismo en Python

43

Playground - Implementa un sistema de pagos

D铆a 16

44

Estructuras de datos en Python

45

Playground - Crea tu propia lista en python

46

Hash tables en Python

47

Playground - Implementaci贸n de una HashTable para Contactos

D铆a 17

48

Maps en Python

49

Playground - Crea un task manager con Maps

D铆a 18

50

Singly Linked List en Python

51

Playground - Implementaci贸n de una singly linked list

D铆a 19

52

Stacks en Python

53

Playground - Implementaci贸n de un stack

D铆a 20

54

Queues en Python

55

Playground - Implementaci贸n de una queue

D铆a 21

56

隆Lo lograste!

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Playground - Crea un task manager con Maps

49/56

Aportes 18

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Soluci贸n 馃槃鈥
.

.
.
.
.

class TaskManager:
  def __init__(self):
    self.tasks = {}

  def addTask(self, task, tags):
    task = task.lower()
    self.tasks[task] = self.tasks.get(task, set()) | set(tags)

  def printTasks(self):
    return self.tasks
class TaskManager:
  def __init__(self):
    self.tasks_list = {}

  def addTask(self, task, tags):
    if task in self.tasks_list:
      self.tasks_list[str(task).lower()].update(set(tags))
      return
    self.tasks_list[str(task).lower()] = set(tags)

  def printTasks(self):
    return self.tasks_list

Mi aporte
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

class TaskManager:
  def __init__(self):
    # Tu c贸digo aqu铆 馃憟
    self.tasks = {}
    pass

  def addTask(self, task, tags):
    # Tu c贸digo aqu铆 馃憟
    if task.lower() in self.tasks:
      for tag in tags:
        self.tasks.get(task.lower()).add(tag)
    else:
      self.tasks[task.lower()] = set(tags)
    pass

  def printTasks(self):
    # Tu c贸digo aqu铆 馃憟
    print(self.tasks)
    return self.tasks
    pass

馃洝锔忦煕★笍Escudo anti-spoilers馃洝锔忦煕★笍

Mi soluci贸n al reto:

class TaskManager:
  def __init__(self):
    self.tasks = {}

  def addTask(self, task, tags):
    t = task.lower()
    self.tasks[t] = self.tasks.get(t, set()).union(set(tags))
    # tambien se puede usar el operador | en vez de union 
    # self.tasks[t] = self.tasks.get(t, set()) | set(tags)

  def printTasks(self):
    return self.tasks


.
.
.
.
.
.
.
.
.
.

Mi c贸digo:

class TaskManager:
    def __init__(self):
        self.tasks = {}

    def addTask(self, task, tags):
        self.tasks.setdefault(task.lower(), set()).update(tags)

    def printTasks(self):
        return self.tasks

class TaskManager:
  def __init__(self):
    self.tasks = {}

  def addTask(self, task, tags):
    task = task.lower()
    if task not in self.tasks:
      self.tasks[task] = tags
    else:
       self.tasks[task] = set(self.tasks[task]) | set(tags)

  def printTasks(self):
    return self.tasks

Interesante otro concepto m谩s para dictionaries que no conoc铆a.

Les comparto mi aporte

class TaskManager:
  def __init__(self):
    self.task = {}

  def addTask(self, task, tags):
    task = task.lower()
    self.task[task] = self.task.get(task, set()).union(set(tags))

  def printTasks(self):
    return self.task

.
.
.
.
.
.
.
.
.
.
.
.
.
Mi codigo

class TaskManager:
  def __init__(self):
    self.tasks = {}
    
  def addTask(self, task, tags):
    taskIndex = task.lower()
    if taskIndex in self.tasks:
      self.tasks[taskIndex].update(tags)
    else:
      self.tasks[taskIndex] = set(tags)

  def printTasks(self):
    return self.tasks

Mi soluci贸n 馃捇 馃悕


.
.
.
.
.

class TaskManager:
  def __init__(self):
    self.tasks = {}

  def addTask(self, task, tags):
    lower_task = task.lower() # Variable aux para no mutar el valor del par谩metro task.

    if not lower_task in self.tasks:
      self.tasks[lower_task] = set()

    self.tasks[lower_task].update(tags)

  def printTasks(self):
    print(self.tasks)
class TaskManager:
    def __init__(self):
        self.tasks = {}

    def addTask(self, task, tags):
        task_lower = task.lower()
        if task_lower in self.tasks:
            self.tasks[task_lower] = self.tasks[task_lower].union(tags)
        else:
            self.tasks[task_lower] = set(tags)

    def printTasks(self):
        return self.tasks

class TaskManager:
  def __init__(self):
    self.map = {}

  def addTask(self, task, tags):
    if task.lower() in self.map:
        self.map[task.lower()] = set(self.map[task.lower()]).union(set (tags))
    else:
        self.map[task.lower()] = set(tags)

  def printTasks(self):
    return self.map

test_add_task

test_add_tags_to_existing_task

test_convert_task_to_lowercase

test_print_tasks

test_add_new_task_to_task_manager

test_not_repeat_tags_to_existing_task

test_return_map_containing_all_tasks

隆Felicidades, todas las pruebas pasaron!
myTaskManager = TaskManager()
myTaskManager.addTask("Comprar leche", ["compras", "urgente"])
myTaskManager.addTask("Sacar al perro", ["mascotas"])
myTaskManager.addTask("Hacer ejercicio", ["salud"])

print(myTaskManager.printTasks())

Mi soluci贸n
+
+
+
+
+
+
+
+
+
+

class TaskManager:
  def __init__(self):
    # Tu c贸digo aqu铆 馃憟
    self.tasks ={}
   

  def addTask(self, task, tags):
    # Tu c贸digo aqu铆 馃憟
    if task.lower() in self.tasks:
      newTasks= set(self.tasks[task.lower()]) | set(tags)
      self.tasks[task.lower()]=newTasks
    else:
      self.tasks[task.lower()]=set(tags)

  def printTasks(self):
    # Tu c贸digo aqu铆 馃憟
    return self.tasks

o
o
o
o
o
o

class TaskManager:
  def __init__(self):
    self.mapita = {}

  def addTask(self, task, tags):
    tarea = task.lower()
    if tarea in self.mapita:
      for element in tags:
        self.mapita[tarea].add(element)
    else:  
      self.mapita[tarea] = set(tags)
    
  
  def printTasks(self):
    return self.mapita
    
myTaskManager = TaskManager()
myTaskManager.addTask("Comprar leche", ["compras", "urgente"])
myTaskManager.addTask("Sacar al perro", ["mascotas"])
myTaskManager.addTask("Hacer ejercicio", ["salud"])
myTaskManager.addTask("Comprar leche", ["lacteos"])

print(myTaskManager.printTasks())  


.
.
.
.
.


.
.
.
.
.

class TaskManager:

  def __init__(self):
    self._task_manager = {}

  def addTask(self, task, tags):
    key = task.lower()
    set_tags = set(tags)
    if key in self._task_manager:
      self._task_manager[key] = self._task_manager[key].union(set_tags)
    else:
      self._task_manager[key] = set_tags

  def printTasks(self):
    return self._task_manager
undefined