Python - Herramientas para el Flujo de Control en Python

 
Vista:

Herramientas para el Flujo de Control en Python

Publicado por jose (1 intervención) el 21/08/2017 18:57:28
Utiliza Python para solucionar los siguientes problemas:
1. dormidos(DiaSemana, Vacaciones): DiaSemana es True si es un día de la
semana, y Vacaciones es True si estamos en vacaciones. Nos quedamos dormidos
si no es un día de la semana o estamos en vacaciones. Devuelve True si nos
quedamos dormidos o no. Ejemplos:
dormidos(False, False) → True
dormidos(True, False) → False
dormidos(False, True) → True
2. problemasMonos(a_Sonrie, b_Sonrie): Tenemos 2 monos, a y b,
a_Sonrie y b_Sonrie indican si cada uno está sonriendo. Estamos en problemas si
ambos sonrien o si ninguno de ellos lo hace. Retornar True si estamos en
problemas. Ejemplos:
problemasMonos(True, True) → True
problemasMonos(False, False) → True
problemasMonos(True, False) → False
3. sum_doble(a, b): Dados dos valores enteros a y b, retornar su suma. A menos
que los dos valores sean los mismos, entonces retornar el doble de su suma.
Ejemplos:
sum_doble(1, 2) → 3
sum_doble(3, 2) → 5
sum_doble(2, 2) → 8
4. diferencia21(n): Dado un entero n, retornar la diferencia absoluta entre n y
21, excepto si n es mayor que 21, entonces retornar el doble de la diferencia
absoluta. Ejemplos:
diferencia21(19) → 2
diferencia21(10) → 11
diferencia21(21) → 0
5. problemasLoro(Habla, Hora): Tenemos un loro que habla. La Hora es la
hora en el rango de 0..23. Estamos en problemas si el loro está hablando y la hora
es antes de las 7 o después de las 20. Retornar True si estamos en problemas.
Ejemplos:
problemasLoro(True, 6) → True
problemasLoro(True, 7) → False
problemasLoro(False, 6) → False
6. string_veces(string, n): Dado un string y un número no negativo n, retornar
un string más largo que sea n copias del string original. Ejemplos:
string_veces('Hi', 2) → 'HiHi'
string_veces('Hi', 3) → 'HiHiHi'
string_veces('Hi', 1) → 'Hi'
7. frente_veces(string, n) : Dado un string y un número no negativo n,
diremos que el frente del string son los primeros 3 caracteres, o lo que sea que esté
allí si el string tiene longitud menor o igual a 3. Retornar n copias del frente.
Ejemplos:
frente_veces('Chocolate', 2) → 'ChoCho'
frente_veces('Chocolate', 3) → 'ChoChoCho'
frente_veces('Ab', 3) → 'AbAbAb'
8. string_bits(string): Dado un string, retornar un nuevo string creado de cada
carácter en la posición impar empezando con la primera. Ejemplos:
string_bits('Hello') → 'Hlo'
string_bits('Hi') → 'H'
string_bits('Heeololeo') → 'Hello'
9. string_splosion(string): Dado un string no vacío, retornar un string
aumentado con cada letra una a una, como en los ejemplos.
string_splosion('Code') → 'CCoCodCode'
string_splosion('abc') → 'aababc'
string_splosion('ab') → 'aab'
10. ultimo2(string): Dado un string, retornar la cuenta del número de veces que
el substring formado por los últimos 2 caracteres del mismo string aparece en el
string (no se cuenta el último substring). Ejemplos:
ultimo2('hixxhi') → 1
ultimo2('xaxxaxaxx') → 1
ultimo2('axxxaaxx') → 2
ultimo2('axxaxxaxxxx') → 3
11. hacer_abba(a, b): Dados 2 strings, a y b, retornar el resultado de colocarlos
juntos en el orden a, luego b, luego nuevamente b y finalmente luego a. Ejemplos:
hacer_abba('Hi', 'Bye') → 'HiByeByeHi'
hacer_abba('Yo', 'Alice') → 'YoAliceAliceYo'
hacer_abba('What', 'Up') → 'WhatUpUpWhat'
12. hacer_tags('i', 'Yay'): La web está construida con string HTML como
“<i>Yay</i>” los cuales dibujan Yay como texto itálico. En el ejemplo, el tag “i”
hace <i> y </i> los cuales bordean la palabra “Yay”. Dado el tag y la palabra, crear
el string HTML con los tags entre las palabras, por ejemplo “<i> Yay</i>”.
Ejemplos:
hacer_tags('i', 'Yay') → '<i>Yay</i>'
hacer_tags('b', 'Hello') → '<b>Hello</b>'
hacer_tags('cite', 'Yay') → '<cite>Yay</cite>'
13. primeros_dos(string): Dado un string, retornar un string hecho de sus
primeros 2 caracteres. Si el string es de longitud menor a 2, retornar lo que sea
que esté allí. Ejemplos:
primeros_dos('Hello') → 'He'
primeros_dos('abcdefg') → 'ab'
primeros_dos('ab') → 'ab'
primeros_dos('H') → 'H
14. sin_final(string): Dado un string, retornar una versión sin el primer y el
último carácter. La longitud del string será por lo menos 2. Ejemplos:
sin_final('Hello') → 'ell'
sin_final('java') → 'av'
sin_final('coding') → 'odin'
15. combo_string(a, b): Dados los 2 strings, a y b, retornar un string de la
forma corta+larga+corta, con la cadena corta en la parte externa del nuevo string
y la larga dentro. Los strings no serán de la misma longitud, pero pueden ser
vacíos. Ejemplos:
combo_string('Hello', 'hi') → 'hiHellohi'
combo_string('hi', 'Hello') → 'hiHellohi'
combo_string('aaa', 'b') → 'baaab'
16. doble_char(string) : Dado un string, retornar un string donde para cada
carácter en el original, hay 2 caracteres. Ejemplos:
doble_char('The') → 'TThhee'
doble_char('AAbb') → 'AAAAbbbb'
doble_char('Hi-There') → 'HHii--TThheerree'
17. contar_hi(string): Retornar el número de veces que el string “hi” aparece
donde sea en el string dado. Ejemplos:
contar_hi('abc hi ho') → 1
contar_hi('ABChi hi') → 2
contar_hi('hihihi') → 3
18. cat_dog(string): Retornar True si el string “cat” y “dog” aparecen el mismo
número de veces en el string dado. Ejemplos:
cat_dog('catdog') → True
cat_dog('catcat') → False
cat_dog('1cat1cadodog') → True
19. contar_code(string): Retorna el número de veces que el string “code”
aparece donde sea en el string dado, excepto que aceptaremos cualquier letra para
la “d”, así se aceptará las palabras “cope”, “cooe”, etc. Ejemplos:
contar_code('aaacodebbb') → 1
contar_code('codexxcode') → 2
20. xyz_alli(string) : Retorna True si el string dado contiene una aparición de
“xyz” pero esta cadena “xyz” no es directamente precedido por un punto (.).
Entonces “xxyz” retorna True, pero “x.xyz” retorna Falso. Ejemplos:
xyz_alli('abcxyz') → True
xyz_alli('abc.xyz') → False
xyz_alli('xyz.abc') → True
xyz_alli('xz.abc') → False
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder