CONSEJERIA DE EDUCACIÓN
IES Gonzalo Nazareno
Introducción a Python. Ejercicios (II)
1. Realiza un programa que pida un cadena. A continuación debe pedir otra cadena. El
programa debe buscar la segunda cadena en la primera (ignorando mayúsculas o minús-
culas) y podrá responder una de las siguientes opciones:
◦ La segunda cadena es una subcadena de la primera
◦ La segunda cadena no es una subcadena de la primera
cadena1 = raw_input (" Dame la primera cadena : "). lower ()
cadena2 = raw_input (" Dame la segunda cadena : "). lower ()
if cadena1 .find( cadena2 ) == -1:
print 'La segunda cadena no es una subcadena de la primera '
else:
print 'La segunda cadena es una subcadena de la primera '
2. El módulo random incluye la función random() que genera un número seudo-aleatorio
entre 0 y 1:
>>> from random import random
>>> random ()
0.51605767814317494
Crea un programa que pida al usuario un número n y genere una lista con n elementos
con valores aleatorios y muestre como salida:
◦ La lista de los n números aletaorios con una precisión de 3 decimales.
◦ La suma de todos los elementos con una precisión de 2 decimales.
Nota: Los valores deben redondearse a la precisión solicitada, no truncarse. La solución
que se presenta no es la más adecuada, aunque una solución más elegante requiere
una explicación más detallada de la salida formateada:
total_num = int( raw_input (" Dame un numero : "))
lista = []
from random import random
for i in range ( total_num ):
lista . append ( random ())
print 'La lista de %d numeros aleatorios es: (' % total_num ,
for i in range ( total_num ):
print ' %.2f' % round ( lista [i],2),
if i != ( total_num - 1): print ",",
print ')'
print 'La suma de estos %d elementos es: %.3f' % (total_num , \
round (sum( lista ) ,3))
3. Escribe un programa que pida al usuario su fecha de nacimiento y le responda el día de
la semana correspondiente:
fecha = raw_input (" Introduce la fecha de nacimiento (DD -MM -YYYY ): \
"). split ('-')
fecha = map(int , fecha )
diasemana = ['lunes ', 'martes ', 'miercoles ', 'jueves ', 'viernes ', \
2
'sabado ', 'domingo ']
from calendar import weekday
print " Naciste en", diasemana [ weekday (fecha [2], fecha [1], fecha [0])]
para ello debes utilizar la función adecuada del módulo calendar.
4. Una dirección 6to4 es una dirección IPv6 reservada para equipos que tienen actual-
mente una dirección IPv4 pública. Un ejemplo de dirección 6to4 sería:
2002:503 b :198:0:219:66 ff:fea8:db3
El campo 2002: es fijo y el bloque importante para esta discusión es el que determina la
parte de red de la dirección, es decir, los campos 503b:198 que son la representación
hexadecimal de la dirección IPv4 correspondiente:
[Link] = 0x50 .0 x3b .0 x1 .0 x98 = 503b:198
el resto de campos se corresponden con la dirección de subred y la dirección de host, y
no son relevantes para este ejercicio.
Escribe un programa que pida una dirección IPv4 pública y nos dé la parte de red
correspondiente de la dirección 6to4 asociada:
dir_ipv4 = map (int , raw_input (" Dame una direccion IPv4 publica : \
"). split ( '. '))
print 'La parte de red 6to4 correspondiente es: 2002: %x %x: %x %x' % \
( dir_ipv4 [0] , dir_ipv4 [1] , dir_ipv4 [2], dir_ipv4 [3])