1) Dada la siguiente función:
def mi_funcion(p,q):
contador_1 = contador_2 = p
while True:
if contador_2 > q:
contador_1 += 2
contador_2 = p
print()
if contador_1 > q:
break
print(contador_1 , end=" ")
contador_2 += 2
A) Mostrar la salida de ejecutar 'my_function' con p=3 q=7
B) Proponga un mejor nombre para los parámetros `p` y `q`
C) Reescribir la función anterior utilizando solo ciclos `for`
>>> my_function(3,7)
3 3 3
5 5 5
7 7 7
p
= inicio ; q
= final
In [1]:
def mi_otra_funcion(inicio,final):
for i in range(inicio,final+1,2):
for j in range(inicio,final+1,2):
print(i,end=" ")
print()
mi_otra_funcion(3,7)
2) Un crucigrama es una matriz de nxm que contiene celdas. Las celdas son tuplas de dos elementos de la forma (<Color>,<contenido>)
. Cada celda puede ser BLANCA
o NEGRA
. El contenido es una cadena, si está vacía, la celda está vacía. Un crucigrama no está correctamente llenado si:
BLANCA
vacíaNEGRA
llenaEscribir una función que dado un crucigrama, devuelva si está correctamente llenado.
In [2]:
def es_crucigrama_valido(crucigrama):
'''Recibe un crucigrama y devuelve si esta o no correctamente llenado.
Un crucigrama no está correctamente llenado si:
- Hay al menos una celda BLANCA vacía
- Hay al menos una celda NEGRA llena'''
for fila in crucigrama:
for celda in fila:
color,contenido = celda
if color == BLANCO and not contenido:
return False
if color == NEGRO and contenido:
return False
return True
3) Escribir una función que reciba una cadena y devuelva su encriptación en formato rot13
. Para encriptar una cadena con rot13
se debe reemplazar cada caracter por el caracter que se encuentra a 13 posiciones en el abecedario.
Si la cadena contiene números, caracteres especiales o mayúsculas se debe devolver una cadena vacía.
string
que contiene “abcd...xyz” Ej:
rot13(“zambia”) -> “mnzovn”
rot13(“mnzovn”) -> “zambia”
rot13(“z4mbi4”) -> “”
In [3]:
from string import ascii_lowercase
def encriptar(cadena):
encriptado = []
for c in cadena:
if not c in ascii_lowercase:
return ""
i = ascii_lowercase.index(c) + 13
i = i % len(ascii_lowercase)
encriptado.append(ascii_lowercase[i])
return "".join(encriptado)
print(encriptar("simonga"))
print(encriptar("fvzbatn"))
print(encriptar("Zambia"))