3Eva_IT2019_T2 Juego del ahorcado

3ra Evaluación I Término 2019-2020, Septiembre 13, 2019

Tema 2. (30 puntos)
Escriba un programa de Python que implemente un juego de adivinanzas de palabras.

Considere que para su programa ya están definidas las siguientes variables y función:

1. Una lista C de las categorías para el juego.

C = ['Transportes', 'Alimentos', 'Deportes', ...],

2. La función perteneceCategoria(palabra, categoria) que retorna True si palabra pertenece a la categoria, False en caso contrario.

3. El diccionario puntajes con el siguiente formato:

puntajes = {'Transportes':{'a':10, 't':4, 'f':5, ...},
            'Deportes': {'a':3, 'z':5, 't':10, ...},
             ... }

Para la implementación del juego considere las siguientes reglas:

r1. El jugador tiene cinco turnos para jugar

Para cada turno:

r2. El programa selecciona aleatoriamente una categoría de la lista C

r3. El programa le pide al jugador que ingrese una palabra para la categoría seleccionada en el paso r2

r4. Si la palabra pertenece a la categoría dada y no ha sido ingresada en un turno anterior, calcule los puntos totales para la palabra.
El puntaje de la palabra es la suma de los puntajes de cada una de sus letras, de acuerdo al diccionario puntajes.
Una letra tendrá puntajes distintos dependiendo de la categoría del paso r2.
Si la palabra no cumple con las condiciones, el jugador no obtiene puntos en ese turno

r5. En cada turno, muestre el puntaje obtenido para la palabra ingresada y el puntaje acumulado

Al final de los cinco turnos:

r6. El jugador habrá ganado si completa un mínimo de 500 puntos, muestre el mensaje correspondiente “Ganó” o “Perdió”.

1Eva_IT2019_T3 Componentes para Vehículos

1ra Evaluación I Término 2019-2020, Julio 5, 2019
(Editado para tarea, se mantiene el objetivo de aprendizaje)

Tema 3. (50 puntos)

La fábrica ACME se encarga de fabricar diversos componentes para vehículos. Para esto, tiene varias líneas de fabricación.

Asuma que tiene los siguientes arreglos:

P  = np.array(["ct-32", "mto-990", "ct-32"...])
PF = np.array([789, 1500, 900 ...])
PD = np.array([26, 35, 70, ...])
D  = np.array([300, 12, 100, ...])
CF = np.array([1000, 2000, 1100, ...])

Donde​ P​ es un arreglo con los códigos de las piezas fabricadas.
El arreglo​ PF tiene la cantidad total de piezas fabricadas en el día.
El arreglo​ PD indica la cantidad de piezas defectuosas por producto en el día.
El arreglo​ D ​indica el día del año de fabricación de la pieza (1 a 365).
Finalmente, el arreglo ​CF ​indica cuales la capacidad máxima de productos que se pueden fabricar, para cada tipo de pieza, en un día determinado.

​ Un mismo producto se puede fabricar varias veces al año pero no varias veces en un mismo día.

a. ​Escriba una función llamada​ produccionAnual(codigo,P,PF) que retorne la cantidad total de piezas ​código​ fabricadas en el año.

b. El rendimiento de fabricación de un producto se mide de la siguiente forma:

rendimiento = (total_piezas_fabricadas - total_piezas_defectuosas)/total_capacidad

Escriba la función rendimientoPromedio(codigo, P, PF, PD, CF, D)​ que retorna el rendimientopromedio diario para ​codigo​. El rendimiento promedio diario es igual a rendimiento/total_dias_fabricacion.

c. ​Escriba la función ​porcentajeAnualDefecto(codigo, P, PD, PF)​, que retorna el porcentaje de defectos que tiene un ​código​. El porcentaje de defectos se calcula como sigue:

porcentaje_defectos = (total_piezas_defectuosas/total_piezas_fabricadas)*100

d. Escriba la función ​productosDefectuosos(codigos, P, PF, PD, porcentajemax)​, que retorna un arreglo con los códigos de los productos que están en la lista ​codigos​ y que tengan porcentaje de defectos mayor a l valor dado por la variable «porcentajemax»​.

e. ​Escriba la función ​minimoPorcentajeDefecto(P, PF, PD)​, que retorna como resultado el código del producto con el menor porcentaje anual de defectos.

Rúbrica: literal a (6 puntos), literal b (12 puntos), literal c (12 puntos), literal d (10 puntos), literal d (10 puntos).