Activa JavaScript para disfrutar de los vídeos de la Mediateca.
APLICACIÓN PYTHON: ESTADÍSTICA DE ANOTACIONES - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Aplicación programada en Python para mostrar las anotaciones de un jugador de baloncesto durante un partido
Bien, hola a todos, vamos a analizar un programa escrito en Python, de manera que nos sirva de repaso para estudiar las diferentes estructuras de programación que contiene este lenguaje de programación, visto sobre un programa que realice, en este caso, una aplicación concreta.
00:00:05
en este caso la aplicación es muy sencilla y la tenéis escrita aquí arriba
00:00:24
donde tenéis aquí la cabecera del programa
00:00:32
ya sabéis que cuando está entre amadillas no se tiene en cuenta
00:00:34
y en este caso consiste en una aplicación que nos va a servir para realizar las anotaciones
00:00:39
que un jugador de baloncesto realiza durante un partido
00:00:44
y luego además mostrar la estadística de las anotaciones de ese jugador
00:00:47
entonces, bueno, lo que está claro
00:00:51
que el jugador va a anotar
00:00:53
canastas de 3 puntos, de 2 puntos y de 1
00:00:55
¿vale? entonces, bueno, pues
00:00:58
el programa nos va a solicitar los siguientes datos
00:01:00
a medida que se está produciendo el
00:01:02
partido, pues el juez, en este caso de la mesa
00:01:03
pues va a ir anotando para ese jugador
00:01:06
canastas de 3 puntos, de 2 puntos y de 1 punto
00:01:07
cuando termine el partido
00:01:10
o sencillamente el jugador ya haya terminado
00:01:11
porque se haya expulsado o lo que sea
00:01:13
pues con el valor 0
00:01:15
salimos ya de introducir los valores
00:01:17
de las anotaciones de este jugador
00:01:19
si se introduce cualquier otro valor que no sean estos evidentemente tiene que
00:01:21
mostrar un mensaje de error y por último la estadística debe
00:01:25
mostrar nombre del jugador los puntos totales obtenidos en el partido las
00:01:29
canastas que han gestado y los tiros de diferentes tipos de las diferentes tipos
00:01:33
de canastas de 3 de 2 o de un punto vale pues entonces en primer lugar bueno lo
00:01:38
que he hecho ha sido dividir digamos el programa como veis aquí en los con los
00:01:43
asteriscos en pequeños subprogramas que nos va a ir diciendo las funciones que tiene cada una de ellas.
00:01:48
Y esto además lo enlazo con el tema de funciones, que es la última parte que vamos a ver de Python,
00:01:53
en la que programas grandes los vamos a tener pequeños, programas más pequeñitos, llamadas funciones,
00:01:59
y que nos van a permitir que un programa muy largo al final se quede descompuesto en subprogramas más pequeños.
00:02:04
Bueno, vamos primero con el programa en sí.
00:02:09
la presentación inicial simplemente es una función print
00:02:13
donde además introducimos en este caso el nombre del jugador
00:02:16
en la variable nombreJugador
00:02:21
y después ya vamos a ir introduciendo los diferentes valores
00:02:23
entonces para anotar esos valores
00:02:28
que los vamos a introducir evidentemente en una lista llamada anotaciones
00:02:31
creamos la lista anotaciones
00:02:34
y le pedimos al usuario que vaya introduciendo los valores
00:02:35
que se va produciendo
00:02:38
evidentemente estos valores los almacenamos primero
00:02:40
en lugar de meterlos directamente en anotaciones
00:02:43
los metemos en una variable llamada puntos
00:02:45
porque tenemos que discriminar los valores
00:02:48
que no son ni 1, ni 2, ni 3
00:02:50
y bueno, el 0 para salir
00:02:53
y el resto de los valores porque no valen
00:02:55
entonces ¿cómo lo hacemos esto?
00:02:57
pues sencillamente ese valor que hemos introducido por teclado
00:02:58
en la variable puntos
00:03:01
con la instrucción while que veis aquí
00:03:03
lo que vamos a hacer es lo siguiente
00:03:06
esta instrucción se va a repetir siempre que los puntos
00:03:08
es decir que la variable punto sea mayor o igual que 1
00:03:11
por lo tanto los valores 1, 2 y 3 nos valen
00:03:14
también nos valen 4, 5 y 6 pero ahora los vamos a eliminar
00:03:16
y el 0 simplemente es porque saldremos de este bucle
00:03:19
cuando ya se haya terminado de realizar las anotaciones
00:03:21
como hemos dicho que con el 0 salimos del bucle
00:03:25
en este bucle while vamos a ir anotando
00:03:27
en la lista anotaciones
00:03:30
con la instrucción anotaciones.appen y el punto correspondiente
00:03:34
o el valor en este caso, el elemento de la lista
00:03:36
lo vamos a ir añadiendo
00:03:40
¿qué ocurre? que antes de introducirlo en la lista
00:03:41
tenemos que saber si ese valor es válido
00:03:44
ya hemos discriminado el 0
00:03:45
porque es un valor que nos permite salir del bucle
00:03:48
pero el 4, el 5 y el 6 no nos vale
00:03:50
entonces ¿qué hacemos? pues con una simple instrucción
00:03:52
condicional if
00:03:54
si los puntos es mayor que 3
00:03:55
no nos vale mayor o igual que 3
00:03:57
porque entonces el 3 también lo discriminaría
00:03:59
simplemente le indicamos al usuario que
00:04:01
la puntuación no es correcta
00:04:03
y en caso contrario, es decir, que sea un valor
00:04:05
mayor o igual que 1 y menor
00:04:07
y menor que 3
00:04:09
en este caso, menor, sí
00:04:10
correcto, entonces introducimos
00:04:13
los valores 0, 2 o 3
00:04:15
perdón, 1, 2 o 3, disculpad
00:04:17
introducimos los valores 1, 2 y 3
00:04:19
que son los valores válidos
00:04:21
y luego, para volver otra vez
00:04:22
al bucle e introducir los datos
00:04:25
es verdad que al principio se lo hemos pedido, pero no estábamos
00:04:27
dentro del bucle while, con lo cual
00:04:29
esto es una redundancia, probablemente se podrá hacer mejor
00:04:31
pero bueno, dentro del bucle este while
00:04:33
he vuelto a introducir
00:04:35
la petición del usuario
00:04:36
para poder seguir estando dentro del bucle principal.
00:04:38
Bueno, imaginamos que introducimos ya el cero.
00:04:43
Pues introducimos ya el cero, entonces ya lo que hacemos es ya entrar en esta parte
00:04:46
donde lo que hacemos es calcular lo que nos va a pedir después la estadística.
00:04:49
Es decir, creamos unas variables, en este caso las variables libres, canastas, triples y total.
00:04:53
Y las inicializamos todas a cero.
00:05:00
Por cierto, que en esta misma línea se puede poner de esta manera
00:05:02
para que no te quede tan largo el programa
00:05:06
en una misma línea puedes inicializar todas las variables
00:05:08
que quieras de esta manera
00:05:10
hay una variable aquí, que veis aquí, que es la variable i
00:05:11
normalmente se emplea como
00:05:14
para los contadores, como incremento
00:05:15
y eso es así porque con esta
00:05:18
instrucción que veis aquí
00:05:20
la instrucción for in range
00:05:22
nos permite en este caso
00:05:25
ir analizando
00:05:26
cada uno de los elementos
00:05:28
de la lista anotaciones
00:05:30
¿hasta dónde? pues desde i igual a 0
00:05:31
es decir, desde el primer elemento de la lista anotaciones hasta el elemento final que en este caso es la longitud
00:05:34
y acordaros que la instrucción LEN en una lista nos permitía saber la longitud total
00:05:41
bueno, pues con esto podemos ir analizando todos los elementos de la lista
00:05:46
que uno de los elementos de la lista, el primero por ejemplo, es igual a 1
00:05:50
pues incrementamos la variable libres en 1
00:05:55
esto se hace de esta manera, puede ser libres más igual a 1 o libres igual a libres más 1
00:05:57
exactamente lo mismo, ¿vale?
00:06:02
que la variable es igual, perdón, el elemento de la lista es igual a 2
00:06:04
lo que hacemos es que anastas e incrementarla en un valor
00:06:08
y si es un valor de 3, pues los triples los incrementamos en un valor
00:06:12
de manera que ya tenemos todos los libres que ha metido
00:06:15
todas las canastas y todos los triples
00:06:18
y luego finalmente la puntuación total, bueno, podemos haberlo hecho en cualquier otro momento
00:06:21
haberla sumado y demás, pero bueno, en este caso lo he puesto aquí directamente con este valor
00:06:24
y luego vamos a ver
00:06:29
como presentamos
00:06:31
todos los valores
00:06:33
bueno, para presentar todos los valores
00:06:34
como veis aquí en esta parte
00:06:36
del programa
00:06:39
sencillamente todo es una instrucción Spring
00:06:40
y en este caso pues en la instrucción
00:06:43
el título estadística del jugador
00:06:45
y como veis aquí lo que estamos
00:06:47
introduciendo es el jugador
00:06:49
ha anotado tantas
00:06:51
canastas, ¿por qué? porque el número de elementos
00:06:53
de la lista
00:06:56
que lo podemos averiguar con la instrucción LEN
00:06:56
como hemos visto, pues nos va a decir
00:06:59
el número de canastas, ahora, ¿qué tipo de canastas?
00:07:01
pues vamos a ver
00:07:04
las anotaciones han sido
00:07:05
anotaciones de un punto
00:07:06
pues tanto valor
00:07:08
que tenga almacenado
00:07:12
la variable libres
00:07:14
la variable canastas y la variable libres
00:07:14
y en total, la variable total que vamos a calcular antes aquí
00:07:17
pues en este caso aparecerá aquí al final
00:07:19
¿vale?
00:07:21
entonces, bueno, vamos a ver como sería
00:07:23
en este caso el ejercicio, introduciendo ya, vamos a ejecutarlo con F5 y una vez que ya lo tenemos
00:07:25
ejecutado, vamos a ejecutarlo, vamos a ello, introduzca el nombre del jugador, pues en este
00:07:32
caso vamos a poner, introduzca la sensación del jugador, 0 para terminar, bueno pues imaginaos
00:07:43
que me mete un triple de nada más empezar, después una canasta de dos puntos, otra canasta de dos
00:07:52
puntos, otra de los puntos, un tiro
00:07:57
libre, se equivoca
00:07:59
el anotador y pone 7
00:08:01
y eso es un error, y finalmente
00:08:03
otra canasta de los puntos y 0 para salir
00:08:05
¿vale? y una vez que le demos el 0
00:08:07
pues aquí tenemos todas las
00:08:09
estadísticas, el jugador
00:08:11
Pau Gasol ha anotado 6 canastas
00:08:13
las anotaciones han sido
00:08:16
fijaros, la lista la ponemos
00:08:17
directamente con la
00:08:19
lista de anotaciones, pues automáticamente
00:08:21
nos dice que tipo de canastas han sido
00:08:23
y aquí las ha contabilizado
00:08:25
Pues en este caso ha sido un tiro libre, cuatro canastas de dos puntos, como vemos aquí, cuatro canastas que hay, un tiro de tres puntos o dos, un triple y el total de puntos han sido dos.
00:08:26
Bueno, pues como veis esta pequeña aplicación nos permitiría poder realizar las estadísticas de un jugador.
00:08:39
Posibles mejoras de este programa, pues que sirva para todos los jugadores, en vez de introducir el número del jugador antes de la anotación que realiza.
00:08:48
y podríamos tener entonces varias listas
00:08:55
de todos los jugadores
00:08:58
en un partido de fútbol de un equipo
00:08:59
concreto, por ejemplo, este sería para un solo
00:09:02
jugador, pero bueno, evidentemente se podría
00:09:04
extrapolar a cualquier equipo
00:09:06
introduciendo, como digo previamente
00:09:08
el número de los jugadores
00:09:10
o el nombre del jugador, eso da igual
00:09:12
bueno, espero que os haya gustado
00:09:13
y seguimos repasando
00:09:15
hasta luego
00:09:17
- Autor/es:
- Rafael M.
- Subido por:
- Rafael M.
- Licencia:
- Reconocimiento - Compartir igual
- Visualizaciones:
- 199
- Fecha:
- 31 de marzo de 2021 - 19:49
- Visibilidad:
- Público
- Centro:
- IES GRAN CAPITAN
- Duración:
- 09′ 20″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1280x720 píxeles
- Tamaño:
- 48.20 MBytes