Diferencia entre revisiones de «Usuario:Lmorillas/intropyaytozgz/ejercicios2»
De WikiEducator
(4 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 3: | Línea 3: | ||
{{Actividad|Title=Ejercicios de repaso| | {{Actividad|Title=Ejercicios de repaso| | ||
− | {{Tip| Echa un vistazo a | + | {{Tip| Echa un vistazo a [https://launchpadlibrarian.net/18980633/Python%20para%20todos.pdf Python para todos] o a [http://tools.assembla.com/svn/homedevel/presents/intropython.odp presentación de Facundo]}} |
<ol> | <ol> | ||
<li>Dada una lista de usuarios con el siguiente formato: | <li>Dada una lista de usuarios con el siguiente formato: | ||
Línea 17: | Línea 17: | ||
Muestra el listado ordenado y numerado con el formato: | Muestra el listado ordenado y numerado con el formato: | ||
<pre> | <pre> | ||
− | + | 1. usuario_1 xs8(977 | |
− | + | 2. usuario_2 jK8865A | |
+ | ... | ||
+ | 10. usario_10 uu84klk | ||
</pre> | </pre> | ||
+ | Fíjate bien en que las columnas estén bien alineadas. | ||
</li> | </li> | ||
</ol> | </ol> | ||
Línea 40: | Línea 43: | ||
{{Tip|Teoría en p. 36 de [https://launchpadlibrarian.net/18980633/Python%20para%20todos.pdf Python para todos]}} | {{Tip|Teoría en p. 36 de [https://launchpadlibrarian.net/18980633/Python%20para%20todos.pdf Python para todos]}} | ||
<ol> | <ol> | ||
− | <li> | + | <li>Función que pide un número entre 10 y 20 (ambos incluidos). Si el usuario introduce un número mayor o menor, la función volverá a pedir un número. Devuelve el número que ha introducido el usuario.</li> |
<li>Crea una función que dado el fichero de datos y el nombre de usuario, devuelva el número de puesto en que se encuentra, o '''-1''' si no se encuentra el nombre de usuario</li> | <li>Crea una función que dado el fichero de datos y el nombre de usuario, devuelva el número de puesto en que se encuentra, o '''-1''' si no se encuentra el nombre de usuario</li> | ||
− | <li> | + | <li>Crea una función '''calcula total(fichero)''' que dado un fichero como éste [https://bitbucket.org/lmorillas/curso-python-ayto-zgz/src/1310e8f4aa1df01d075978dd3720c56921ce0928/poblacion.txt poblacion.txt], escribe un nuevo fichero calculando los totales así: [https://bitbucket.org/lmorillas/curso-python-ayto-zgz/src/1310e8f4aa1df01d075978dd3720c56921ce0928/poblacion_total.txt poblacion_total.txt] |
− | + | </li> | |
</ol> | </ol> | ||
}} | }} | ||
Línea 49: | Línea 52: | ||
{{Actividad|Title=Clases y objetos| | {{Actividad|Title=Clases y objetos| | ||
<ol> | <ol> | ||
+ | <li>Crea una clase Empleado. | ||
+ | <source lang="python"> | ||
+ | class Empleado(object): | ||
+ | ''' | ||
+ | Clase Empleado que representa un empleado de nuestra empresa. | ||
+ | |||
+ | Atributos: nombre, codigo, departamento (obligatorios al crear el objeto) | ||
+ | Métodos: | ||
+ | __init__(self, nombre, codigo, departamento) | ||
+ | __str__(self) --> muestra en pantalla Nombre y departamento | ||
+ | ''' | ||
+ | </source> | ||
+ | </li> | ||
+ | <li>Crea una clase Equipo: | ||
+ | <source lang="python"> | ||
+ | class Equipo(object): | ||
+ | ''' | ||
+ | Clase equipo que representa un equipo de trabajo. | ||
+ | |||
+ | Atributos: nombre y miembros (lista de empleados) | ||
+ | Métodos: | ||
+ | __init__(self, nombre) --> crea un equipo vacío | ||
+ | incorpora(self, empleado) --> Añade el empleado al equipo | ||
+ | quita(self, empleado) --> quita el empleado del equipo | ||
+ | __str__(self) --> muestra el nombre del equipo y una lista con los nombre de sus miembros | ||
+ | guarda(self, fichero) --> almacena el equipo en un fichero tipo shelve usando como clave el nombre del equipo | ||
+ | ''' | ||
+ | </source> | ||
+ | </li> | ||
+ | <li>Crea un programa que importe las clases anteriores, cree 5 empleados, 2 equipos, inserte los 3 primeros empleados en un equipo y los dos siguientes en otro, los almacenará en un fichero shelve llamado '''equipos.dat''' y a continuación hará un listado de los equipos almacenados en el fichero. | ||
+ | </li> | ||
</ol> | </ol> | ||
+ | |||
}} | }} |
Última revisión de 22:53 19 nov 2012
Tip: Echa un vistazo a Python para todos o a presentación de Facundo
|
Tip: Teoría en p. 82 de Python para todos
|
Tip: Teoría en p. 36 de Python para todos
|
|