Skip to content

Latest commit

 

History

History
123 lines (81 loc) · 4.34 KB

Quiz12.rst

File metadata and controls

123 lines (81 loc) · 4.34 KB

Quiz - 12

.. tabbed:: quiz12

    .. tab:: Ejercicio 1

        .. activecode:: q12_1
            :nocodelens:

            Desarrolle la función ``terminan_igual`` que, dada una lista de cadenas ``palabras``, devuelva el número de cadenas
            con longitud >= 2 donde el primer y último carácter son iguales. |br| |br|
            Ejemplo: |br|
            ``terminan_igual(["aba", "xyz", "aa", "x", "bbb"])`` -> ``3`` |br|

            ~~~~
            def terminan_igual(palabras):


            ====
            from unittest.gui import TestCaseGui


            class myTests(TestCaseGui):
                def testOne(self):

                    self.assertEqual(terminan_igual(["aba", "xyz", "aa", "x", "bbb"]), 3, "Esperado: 3")
                    self.assertEqual(terminan_igual(["", "x", "xy", "xyx", "xx"]), 2, "Esperado: 2")
                    self.assertEqual(terminan_igual(["aaa", "be", "abc", "hello"]), 1, "Esperado: 1")


            myTests().main()


    .. tab:: Ejercicio 2

        .. activecode:: q12_2
            :nocodelens:

            Desarrolle la función ``x_antes`` que, dada una lista de cadenas ``palabras``, devuelva
            otra lista en la que todas las cadenas que comienzan con el carácter ``'x'`` sean los primeros elementos de la lista.
            Después, el resto de palabras serán acomodadas según su orden alfabético. **Nota**: Recuerde
            que ``sorted(lista)`` devuelve una lista ordenada. |br| |br|
            Ejemplos: |br|
            ``x_antes(["bbb", "ccc", "axx", "xzz", "xaa"])`` -> ``["xaa", "xzz", "axx", "bbb", "ccc"]`` |br|
            ``x_antes(["ccc", "bbb", "aaa", "xcc", "xaa"])`` -> ``["xaa", "xcc", "aaa", "bbb", "ccc"]`` |br|

            ~~~~
            def x_antes(palabras):


            ====
            from unittest.gui import TestCaseGui


            class myTests(TestCaseGui):
                def testOne(self):

                    self.assertEqual(
                        x_antes(["bbb", "ccc", "axx", "xzz", "xaa"]),
                        ["xaa", "xzz", "axx", "bbb", "ccc"],
                        "Esperado: ['xaa', 'xzz', 'axx', 'bbb', 'ccc']",
                    )
                    self.assertEqual(
                        x_antes(["ccc", "bbb", "aaa", "xcc", "xaa"]),
                        ["xaa", "xcc", "aaa", "bbb", "ccc"],
                        "Esperado: ['xaa', 'xcc', 'aaa', 'bbb', 'ccc']",
                    )
                    self.assertEqual(
                        x_antes(["mix", "xyz", "apple", "xanadu", "aardvark"]),
                        ["xanadu", "xyz", "aardvark", "apple", "mix"],
                        "Esperado: ['xanadu', 'xyz', 'aardvark', 'apple', 'mix']",
                    )


            myTests().main()


    .. tab:: Ejercicio 3

        .. activecode:: q12_3
            :nocodelens:

            Desarrolle la función ``ordenar_tuplas`` que, dada una lista de tuplas no vacías, devuelve otra lista
            de tuplas ordenada de forma ascendente tomando en cuenta el último elemento de cada tupla. |br| |br|
            Ejemplos: |br|
            ``ordenar_tuplas([(1, 3), (3, 2), (2, 1)])`` -> ``[(2, 1), (3, 2), (1, 3)]`` |br|
            ``ordenar_tuplas([(2, 3), (1, 2), (3, 1)])`` -> ``[(3, 1), (1, 2), (2, 3)]`` |br|



            ~~~~
            def ordenar_tuplas(tuplas):



            ====
            from unittest.gui import TestCaseGui


            class myTests(TestCaseGui):
                def testOne(self):

                    self.assertEqual(
                        ordenar_tuplas([(1, 3), (3, 2), (2, 1)]), [(2, 1), (3, 2), (1, 3)], "Esperado: [(2, 1), (3, 2), (1, 3)]"
                    )
                    self.assertEqual(
                        ordenar_tuplas([(2, 3), (1, 2), (3, 1)]), [(3, 1), (1, 2), (2, 3)], "Esperado: [(3, 1), (1, 2), (2, 3)]"
                    )
                    self.assertEqual(
                        ordenar_tuplas([(1, 7), (1, 3), (3, 4, 5), (2, 2)]),
                        [(2, 2), (1, 3), (3, 4, 5), (1, 7)],
                        "Esperado: [(2, 2), (1, 3), (3, 4, 5), (1, 7)]",
                    )


            myTests().main()