Imagina que te encuentras en un salón de videojuegos, que necesita un desarrollador. El grupo de trabajo ha decidido contratarte para que mejores su juego de alienigenas en el espacio. Necesitan saber cuántos puntos deberá ganar el jugador dependiendo del color del alienígena que derribe incluyendo la cantidad, en caso de que sea rojo, el jugador obtendrá 10 puntos, en caso de que sea verde obtendrá 5 puntos y en el caso de que sea azul obtendrá solamente 2 puntos. El puntaje final se definirá por la cantidad de alienígenas dependiendo del color y su puntaje respectivo, todo esto sumando. Si el jugador derriba más de 10 rojos se le dará un bonus del 10% sobre el puntaje final, si derriba más de 5 verdes se le da un bonus del 5%, y para los azules si derribó más de 2 uno del 2%, tenga en cuenta que el valor del puntaje final debe mostrarse de tipo entero, es decir si el resultado 32.78 debe mostrarse 32. Diseñe un programa que le permita al usuario saber cuántos puntos en total ganó luego de una partida dependiendo del color de los alienígenas que haya derribado, y la cantidad.
Nota: Ten en cuenta que es un solo intento, el programa deberá (a través de consola) obtener el color y el número de naves que derribo.
Por ejemplo:
Ingrese la cantidad de rojos derribados: 2
Ingrese la cantidad de verdes derribados: 5
Ingrese la cantidad de azules derribados: 12
Puntaje total 70
Apunte:
2 Rojo = 10 puntos --> 10% por matar a más de 10 rojos
5 verde = 5 puntos --> 5% por matar a más de 5 verdes
12 azul = 2 puntos --> 2% por matar a más de 2 azul
Rojo = 20
Verde = 25
Azul = 24 + 1,38
Puntaje total = 69 --> 69 + 1,38 = 70
Código del ejercicio:
Definición de los códigos del ejercicio:
int() --> convierte el valor especificado en un número entero.input() --> permite obtener texto escrito por teclado.
, --> concatena variables de cadena.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
elif --> use else if para especificar una nueva condición para probar, si la primera condición es falsa.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
f'{}' --> un literal de cadena con formato o f-string es un literal de cadena que tiene el prefijo 'f'o 'F'. Facilita crear interpolaciones en cadenas de texto, simplificando de este modo tanto la lectura como la escritura de estas. Si quieres mostrar variables utilizando f-strings, solo tienes especificar el nombre de las variables entre llaves {}. Y al ejecutar tu código, todos los nombres de las variables serán remplazados con sus respectivos valores.
print() --> imprime un mensaje en la pantalla.
Explicación del Código:
Este programa calcula el puntaje obtenido al derribar alienígenas rojos, verdes y azules. Cada tipo de alienígena tiene un valor diferente.
Código Python
print("Juego de alienígenas")
rojo = 10
verde = 5
azul = 2
print("------------------------------------------------------")
n1 = int(input("Ingrese la cantidad de rojos derribados: "))
n2 = int(input("Ingrese la cantidad de verdes derribados: "))
n3 = int(input("Ingrese la cantidad de azules derribados: "))
ptjerojo = rojo * n1
ptjeverde = verde * n2
ptjeazul = azul * n3
suma = ptjerojo + ptjeverde + ptjeazul
print("------------------------------------------------------")
print("número de alienígenas rojos derribados:", ptjerojo)
print("número de alienígenas verdes derribados:", ptjeverde)
print("número de alienígenas azules derribados:", ptjeazul)
if n1 > rojo:
ptje = rojo * suma
porcentaje = ptje / 100
suma = porcentaje + suma
elif n2 > verde:
ptje2 = verde * suma
porcentaje1 = ptje2 / 100
suma = porcentaje1 + suma
elif n3 > azul:
ptje3 = azul * suma
porcentaje2 = ptje3 / 100
suma = porcentaje2 + suma
total = int(suma)
print("------------------------------------------------------")
print(f'Puntaje total: {total}')
Explicación de cada código
print("Juego de alienígenas")
Muestra en pantalla el título del juego.
rojo = 10
Guarda el valor de un alienígena rojo. Cada rojo vale 10 puntos.
verde = 5
Guarda el valor de un alienígena verde. Cada verde vale 5 puntos.
azul = 2
Guarda el valor de un alienígena azul. Cada azul vale 2 puntos.
print("------------------------------------------------------")
Muestra una línea horizontal para separar visualmente las partes del programa.
n1 = int(input("Ingrese la cantidad de rojos derribados: "))
Pide al usuario la cantidad de alienígenas rojos derribados. int() convierte el dato ingresado a un número entero.
n2 = int(input("Ingrese la cantidad de verdes derribados: "))
Pide la cantidad de alienígenas verdes derribados y convierte el dato a entero.
n3 = int(input("Ingrese la cantidad de azules derribados: "))
Pide la cantidad de alienígenas azules derribados y convierte el dato a entero.
ptjerojo = rojo * n1
Calcula los puntos obtenidos por los alienígenas rojos. Multiplica el valor de cada rojo por la cantidad derribada.
ptjeverde = verde * n2
Calcula los puntos obtenidos por los alienígenas verdes.
ptjeazul = azul * n3
Calcula los puntos obtenidos por los alienígenas azules.
suma = ptjerojo + ptjeverde + ptjeazul
Suma los puntos conseguidos por los tres tipos de alienígenas y obtiene el puntaje inicial.
print("número de alienígenas rojos derribados:", ptjerojo)
Muestra los puntos obtenidos por los alienígenas rojos.
print("número de alienígenas verdes derribados:", ptjeverde)
Muestra los puntos obtenidos por los alienígenas verdes.
print("número de alienígenas azules derribados:", ptjeazul)
Muestra los puntos obtenidos por los alienígenas azules.
if n1 > rojo:
Comprueba si la cantidad de alienígenas rojos derribados es mayor que 10.
ptje = rojo * suma
Multiplica 10 por el puntaje acumulado para calcular el valor utilizado para el porcentaje.
porcentaje = ptje / 100
Divide el resultado entre 100 para obtener el porcentaje.
suma = porcentaje + suma
Suma el porcentaje calculado al puntaje acumulado.
elif n2 > verde:
Si la condición anterior no se cumple, comprueba si la cantidad de alienígenas verdes derribados es mayor que 5.
ptje2 = verde * suma
Multiplica 5 por el puntaje acumulado para calcular el valor utilizado para el porcentaje.
porcentaje1 = ptje2 / 100
Divide el resultado entre 100 para obtener el porcentaje.
suma = porcentaje1 + suma
Agrega el porcentaje calculado al puntaje acumulado.
elif n3 > azul:
Si las condiciones anteriores no se cumplen, comprueba si la cantidad de alienígenas azules derribados es mayor que 2.
ptje3 = azul * suma
Multiplica 2 por el puntaje acumulado para calcular el valor utilizado para el porcentaje.
porcentaje2 = ptje3 / 100
Divide el resultado entre 100 para obtener el porcentaje.
suma = porcentaje2 + suma
Agrega el porcentaje calculado al puntaje acumulado.
total = int(suma)
Convierte el puntaje final a un número entero, eliminando la parte decimal.
print(f'Puntaje total: {total}')
Muestra en pantalla el puntaje total obtenido. La f permite colocar el valor de total directamente dentro del texto.
Resumen del funcionamiento
- El programa asigna puntos a cada tipo de alienígena.
- Solicita cuántos alienígenas rojos, verdes y azules fueron derribados.
- Calcula los puntos de cada color.
- Suma todos los puntos.
- Comprueba algunas condiciones para agregar un porcentaje.
- Convierte el resultado final a entero.
- Muestra el puntaje total.
if, elif significa
"si" y "si no, si". Además, como se utiliza elif,
solamente se ejecuta una de las tres condiciones de bonificación.
No hay comentarios.:
Publicar un comentario