100% encontró este documento útil (2 votos)
2K vistas

Ebook en PDF Python 3 Aprende A Programar Con Ejercicios Resueltos PDF

Este documento presenta una introducción a la programación con Python a través de una serie de ejercicios prácticos de iniciación. Incluye ejercicios sobre variables, condicionales, bucles for, funciones, listas y clases. Explica conceptos teóricos de programación y proporciona enlaces a recursos adicionales para aprender los fundamentos de cada tema. El documento está estructurado en secciones con diferentes niveles de ejercicios de dificultad creciente para cada tema.

Cargado por

Marinabio15
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (2 votos)
2K vistas

Ebook en PDF Python 3 Aprende A Programar Con Ejercicios Resueltos PDF

Este documento presenta una introducción a la programación con Python a través de una serie de ejercicios prácticos de iniciación. Incluye ejercicios sobre variables, condicionales, bucles for, funciones, listas y clases. Explica conceptos teóricos de programación y proporciona enlaces a recursos adicionales para aprender los fundamentos de cada tema. El documento está estructurado en secciones con diferentes niveles de ejercicios de dificultad creciente para cada tema.

Cargado por

Marinabio15
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 41

Python

Ejercicios resueltos

Iniciación a la Programación con Python 3

Shravanabelagola
photo by: https://www.flickr.com/photos/sree314/

Matias Salom Avellà


www.ibserveis.com Ejercicios con Python

Ejercicios de iniciación a la programación.

Después de conocer muchos cursos de programación, se puede encontra un común denominador en


muchos de ellos: faltan ejercicios realmente prácticos que ayuden a asimilar todos los conceptos. Por
otro lado, también pueden encontrase bastantes ejemplos y ejercicios de programación en internet,
pero muchas veces no aportan conocimientos fundamentales.

Para aprovechar mejor estos ejercicios, es conveniente seguir algún curso más "teórico" donde se
expliquen con más profundidad los conceptos que se aplican en estos ejercicios.

En los ejercicios hay enlaces hacia páginas web seleccionadas por su excelente contenido y que
ayudan a entender los fundamentos de dichs ejercicios.

Por supuesto, se puede encontrar en internet muvhas otras lecciones teóricas y ejercicios de Python.
Una de las mejores fuentes de información que he encontrado es es mclibre.org:
http://www.mclibre.org/consultar/python/

Está prohibido cualquier tipo de distribución sin permiso del autor.


Está prohibida la reproducción de este curso para su utilización comercial.
Está permitido el uso en común en aulas físicas donde se enseñen asignaturas de programación.
www.ibserveis.com Ejercicios con Python

ÍNDICE

Iniciación ..................................................... pág.4

Condicionales .............................................. pág.8

Bucle for ...................................................... pág.14

Funciones .................................................... pág 17

Pygame ...................................................... pág. 20

Listas .......................................................... pág. 27

Clases ......................................................... pág. 34


www.ibserveis.com Ejercicios con Python

INICIACIÓN A LA PROGRAMACIÓN
Iniciación y variables

En esta lección se aprende a escribir un primer programa “Hola mundo” .

El concepto de Variable también se asimila fácilmente a partir de ejemplos muy reveladores.


www.ibserveis.com Ejercicios con Python

Inicio con Python:

Pueden encontrase en internet tutoriales para instalar Python:


https://youtu.be/i4iwfySVG4M

Tambien puede realizarse cursos ejecutándose el código online, por ejemplo:


https://www.aprendeprogramando.es/cursos-online/python/introduccion-a-python/hola-mundo

Más opciones de programación online:


https://www.pythoniza.me/terminales-online-para-practicar-python/

En los ejercicios se ha utilizado Pyscripter. En este video , en inglés, explican como instalarlo:
https://youtu.be/EhDcNHelqk0

Inicio 1) Copia el siguiente código en un editor de texo. Guárdalo como "holamundo.py" y


ejecutalo con Python

print ('hola')
print ('adios')

Inicio 2) Copia, guarda y ejecuta el siguiente código: variables.py

a = 10
B = 5
resultado = 0

print('el valor de la variable a es: ')


print(a)
print('el valor de la variable B es: ')
print(B)

resultado = a + B
print('El resultado es ')

Inicio 3) Cambia el código anterior por el siguiente y ejecútalo:

a = 8
B = 10
resultado = 0

print('el valor de la variable a es: ' + str(a))


print('el valor de la variable b es: ' + str(B))

resultado = a + B
print('El resultado es ' + str(resultado))
www.ibserveis.com Ejercicios con Python

Inicio 4) Copiar y ejecutar el siguiente programa :

a = 8
B = 10
resultado = 0

print('el valor de la variable a es: ' + str(a))


print('el valor de la variable b es: ' + str(B))

resultado = a + B
print('El resultado es ' + str(resultado))

Inicio 5) ejecutar y entender el siguiente programa:

numero1 = int(input('Dime un numero del 1 al 10 '))


numero2 = int(input('Dime otro numero del 1 al 10 '))

calcula = numero1 * numero2

cadenaCalcula = str (calcula)

print('El resultado es ')


print (cadenaCalcula)

Inicio 6) Realizar el siguiente programa:


El usuario introduce una cantidad de euros y el ordenador contesta con su valor en dólares.

Inicio 7) Realizar el siguiente programa:


El usuario introduce ºC celsius y el ordenador contesta con Farengheit

Inicio 8) Copia, guarda y ejecuta el siguiente código: variables2.py


OJO! , los espacios son importantes (4 espacios de sangria hacia la derecha)

def f_variables():
a = 8
B = 10
resultado = 0

print('el valor de la variable a es: ' + str(a))


print('el valor de la variable b es: ' + str(B))

resultado = a + B
print('El resultado es ' + str(resultado))

f_variables()
www.ibserveis.com Ejercicios con Python

Depuración (DEBUG) con Pyscripter :

https://mappinggis.com/2013/05/como-depurar-codigo-python-con-pyscripter/

Inicio 9) DEBUG, depurar paso a paso el siguiente programa :

numero1 = int(input('Dime un numero del 1 al 10 '))


numero2 = int(input('Dime otro numero del 1 al 10 '))

if numero1 > numero2:


resultado = 'el segundo'
else:
resultado = 'el primero'

print ('El mayor es ' +str(resultado))


www.ibserveis.com Ejercicios con Python

CONDICIONALES
Teoría: http://www.mclibre.org/consultar/python/lecciones/python-if-else.html

Condicionales 1) Realizar el siguiente programa en Python :

edad = int(input("¿Cuántos años tiene? "))

if edad < 18:


print("Es usted menor de edad")
else:
print("Es usted mayor de edad")
print("¡Hasta la próxima!")

Condicionales 2) Depurar (con puntos de interrupción) para corregir y ejecutar :

nota1 = float(input('Escribe la primera nota '))


nota2 = float(input('Escribe la segunda nota '))
nota3 = float(input('Escribe la tercera nota '))

media = (nota1 + nota2 + nota3)/3

if media > 5:
resultat = "Suspendido"
else:
resultat = "Aprobado"

print ('La nota final es ' + str(resultat))

Condicionales 3) A partir del siguiente ALGORITMO (NO programa) con introducción de 2


números.Crear programa que muestra en pantalla el mayor de dos numero introducidos.

inicio
num1 0: num2 0
Introducir "Introduce primer número";num1
Introducir "Introduce segundo número";num2

Si (num1>num2)
Escribir "El mayor es el número ", XXX
sino
Escriure "El mayor es el número ", XXX

Fin si
Fin
www.ibserveis.com Ejercicios con Python

Condicionales 4) A partir del siguiente algoritmo, realizar programa:


Introducción de 2 números y el ordenador indica cual es el mayor o si son iguales.

inicio
num1 0: num2 0
Introducir "Introduce primer número";num1
Introducir "Introduce segundo número";num2

Si (num1>num2)
Escribir "El mayor es el primero ", num1
sino
SI (num2>num1)
Escribir "El mayor es el segundo ", num2
sino
Escribir "Los números son iguales"
fin si

fin si

Condicionales 5) Realizar el siguiente programa:

print("COMPARADOR DE NÚMEROS")

numero1 = int(input("Escriba un número: "))


numero2 = int(input("Escriba otro número: "))

if numero1 > numero2:


print('El mayor es el primero: ' + str(numero1))
elif numero_1 < numero_2:
print('El mayor es el segundo: ' + str(numero2))
else:
print("Los dos números son iguales")

Condicionales 6) ¿Sabrias decir la salida por pantalla de este programa SIN ejecutarlo?

num = 7
if num > 3:
print("3")
if num < 5:
print("5")
if num ==7:
print("7")
www.ibserveis.com Ejercicios con Python

Condicionales 7)
Realizando DEBUG, instrucciones paso a paso, contar cuantas instrucciones realiza cada una
de las siguientes versiones :

# Versión 1 de Menu # Versión 2 de Menu


print ('Menu del programa') print ('Menu del programa')
print ('1 - Abrir') print ('1 - Abrir')
print ('2 - Guardar') print ('2 - Guardar')
print ('3 - Editar')
print ('3 - Editar') print ('4 - Salir')
print ('4 - Salir')
valor = input ('Introduce del (1-4)')
valor = input ('Introduce del 1 al 4')
if valor == '1':
if valor == '1': texto = 'Has elegido Abrir'
print ('Has elegido Abrir.') elif valor == '2':
if valor == '2': texto = 'Has elegido Guardar'
print ('Has elegido Guardar.') elif valor == '3':
if valor == '3': texto = 'Has elegido Editar'
print ('Has elegido Editar.) elif valor == '4':
if valor == '4': texto = 'Has elegido Salir'
print ('Has elegido Salir') else:
texto = 'Debe ser entre 1 y 4'

print (texto)

Condicionales 8) ¿Qué apareceria en pantalla al ejecutar el siguiente programa?

if 1 + 1 == 2:
if 2 * 2 == 8:
print("if")
else:
print("else")

Condicionales 9) SIN ejecutarlo, estudiar cual seria la salida por pantalla:

num = 7
if num == 5:
print("Number is 5")
else:
if num == 11:
print("Number is 11")
else:
if num == 7:
print("Number is 7")
else:
print("Number isn't 5, 11 or 7")
www.ibserveis.com Ejercicios con Python

Condicionales 10) Investigar en internet operaciónes "not" y modulo.


Luego completar las XXX , YYY por respuestas correctas y ejecutar el programa:

numero = int(input("Escriba un número: "))


if not numero % 2:
print(str(numero) + " es XXX")
else:
print(str(numero) + " es YYY")

Condicionales 11) Crear programa donde el usuario introduce dos números y el ordenador da
la media aritmética de ambos (a+b/2)

Condicionales 12) Realizar un programa para una tienda de coches.

El usuario introduce la marca y el modelo del coche y el programa saca el descuento


correspondiente por pantalla.

Si el coche a la venta es un ford fiesta, el descuento es de un 5%.


Si el coche a la venta es un ford focus, el descuento es del 10%.

Condicionales 13) Ejecuta el siguiente programa

# Programa condicion multiple

marca = input ("Escribe la marca del coche")


modelo = input ("Escribe modelo del coche")

precio = 10000

if marca == "ford" or marca =="Ford" or marca == "FORD":


descuento = 10;

if marca == "opel" or marca =="Opel" or marca == "OPEL":


descuento = 20;

precio = precio - (precio * (descuento/100))


print (' El precio final es ' + str(precio) + '€')
www.ibserveis.com Ejercicios con Python

Condicionales 14) ¿Qué función tiene el siguiente programa?.


flagOK=0

while flagOK==0:
valor = input ('Introduce seleccion (1-4)')
numero = int(valor)
if (numero > 1) and (numero <4):
flagOK=1

Condicionales 15) Realizar un programa para una tienda de coches.

El usuario introduce la marca y el modelo del coche y el programa saca el descuento


correspondiente por pantalla.

Si el coche a la venta es un Ford, el descuento es del 5%


Si el coche a la venta es un Opel Corsa, el descuento es de un 8%.
Si el coche a la venta es un Opel Moka, el descuento es del 12%.

Condicionales 16) Ejecutar el siguiente programa

# Programa condicion multiple

marca = input ("Escribe la marca del coche")


modelo = input ("Escribe modelo del coche")

precio = 10000

if marca == "ford" or marca =="Ford" or marca == "FORD":


if modelo == "fiesta":
descuento = 8;
elif modelo == "focus":
descuento = 15;
else:
descuento = 0;

if marca == "opel" or marca =="Opel" or marca == "OPEL":


descuento = 20;

precio = precio - (precio * (descuento/100))

print (' El precio final es ' + str(precio) + '€')


www.ibserveis.com Ejercicios con Python

Condicionales 17) Realiza un programa que pida un año y que escriba si es bisiesto o no.
Se recuerda que los años bisiestos son múltiplos de 4. OJO con los múltiplos de 100

Condicionales 18) En una empresa de transportes han creado 3 tarjetas: residentes, tercera
edad, discapacitados. Al entrar en el bus, la máquina que vamos a programar, tiene que
cobrar 0.5€ a los menores de edad. A los mayores de 18 años:
que sean residentes el precio es de 0.9€
con tarjeta tercera edad el precio es de 0.8€
con tarjeta de discapacitadad el precio es de 0.6€
en los otros casos el precio es de 1€

Realizar PSEUDOCÓDIGO para programar máquina de cobro en autobus.

Condicionales 19) Realizar Programa en el que el usuario introduce una nota y el ordenador le dice
si esta aprobado o suspendido.

b) Añadir si el resultado de “Bien” si la nota está entre 5 y 6.

Condicionales 20) Realizar programa donde el ordenador extrae un número al azar del 1 al 10
y pide al usuario que lo acierte. Si lo acierta, saca por pantalla "Enhorabuena!", sino "Intentalo
de nuevo"
www.ibserveis.com Ejercicios con Python

BUCLES for
Teoria: http://www.mclibre.org/consultar/python/lecciones/python-for.html

Bucles 1) Ejecutar el siguiente programa y hacer seguimiento con puntos de interrupción:

print("Comienzo")
for i in [0, 1, 2]:
print("Hola ", end="")
print()
print("Final")

Bucles 2) Ejecutar el siguiente programa:

for i in [3, 4, 5]:


print("Ahora i vale " +str(i) + " y su cuadrado " + str(i ** 2))
print("Final")

Bucles3) Encuentra una solución para que el siguiente programa funcione:

for nombre in ["Alba", "Benito", "Ana", 27, 12]:


print("Ahora nombre vale " + nombre)

Bucles 4) En base al siguiente código, realizar programa que pide al usuario cuantas veces
quiere que aparezca el saludo y también su nombre. El programa saca en pantalla el saludo
"Hola nombre" ese número de veces.

print("Comienzo")
for i in range(10):
print("Hola ", end="")
www.ibserveis.com Ejercicios con Python

Bucles 5) Modificar el siguiente programa para que muestre en mayúsculas la marca


introducida por el usuario.

cars = ['audi', 'bmw', 'subaru', 'toyota']

for car in cars:


if car == 'subaru':
print(car.upper())
else:
print(car.title())

Bucles 6) Modificar siguiente programa para que cuente números impares menores que 50.

cuenta = 0
for i in range(1, 10):
if i % 2 == 0:
cuenta = cuenta + 1

print("Desde 1 hasta 10 hay " + str(cuenta) +" múltiplos de 2")

Bucles 7) Ejecutar y hacer seguimiento variables con punto interrupción para entender como
funciona:

suma = 0
for i in [1, 2, 3, 4]:
suma = suma + i
print(f"La suma de los números de 1 a 4 es {suma}")

Bucles 8) Realizar programa que da como resultado la SUMA,


de todos los números pares del 1 al 20.

Bucles 9) En base al siguiente programa, realizar programa que muestre tabla de multiplicar
del 5:

print("Comienzo")
for i in [0, 1, 2, 7, 9]:
print("Número " + str(i))
print()
print("Final")
www.ibserveis.com Ejercicios con Python

Bucles 10) En base al siguiente código: realizar programa donde usuario introduce una
palabra y el ordenador cuenta cuantas vocales "a" hay en dicha palabra.

for letra in "AMIGO":


print("La letra ahora es: " + letra)

Resumen 1) Programa que soluciona ecuaciones de primer grado :


pide los coeficientes de una ecuación de primer grado (a x + b = 0) y escribe la solución.

print("ECUACIÓN A X + B = 0")
a = float(input("Escriba el valor del coeficiente a: "))
b = float(input("Escriba el valor del coeficiente b: "))

if a == b == 0:
print("Todos los números son solución.")
elif a == 0:
print("La ecuación no tiene solución.")
else:
print("La ecuación tiene una solución: " + str (- b / a))

Resumen 2) Crear programa que lee tres notas de un alumno, calcula la media e indica el valor de la
nota y la palabra “Excelente” si tiene un valor mayor que 8 , “Aprobado” entre 5 y 8 , “Suspendido” < 5

b) Añadir al programa anterior, el resultado de “Bien” si la nota está entre 5 y 6.

Resumen 3) Escriba un programa que pida los coeficientes de una ecuación de segundo
grado (a x² + b x + c = 0) y escriba la solución.
www.ibserveis.com Ejercicios con Python

FUNCIONES

Funciones 1) Ejecutar el siguiente programa:

def subrutina():
a = 2
print("El valor en subrutina es: " + str(a))
return

subrutina()
a= 5
print("En programa el valor es: " + str(a))

Funciones 2) Ejecutar el siguiente programa. ¿Porqué no funciona? ¿Qué tipo de variable es 'a'?

def subrutina():
a = 2
print("El valor en subrutina es: " + str(a))
return

subrutina()
print("El valor es: " + str(a))

Funciones 3) Ejecutar el siguiente programa. ¿Porqué Sí funciona? ¿Qué tipo de variable es 'a'?

def subrutina():
print("El valor es: " + str(a))
return

a = 5
subrutina()
print("En programa el valor es: " + str(a))

Funciones 4) Añadir al programa anterior, otra función. Es esa función se muestra por pantalla
el valor de 'a' multiplicado por 2. LLamar a las dos funciones desde programa principal
www.ibserveis.com Ejercicios con Python

Funciones 5) Ejecutar el siguiente programa. ¿La variable 'a' es local o global?


"Reperar" el programa para que el resultado sea correcto

def subrutina():
print(a)
a = 2
print(a)
return

a = 5
subrutina()
print(a)

Funciones 6) Ejecutar el siguiente programa

def saludo(nombre):
print("Buenos dias, " + nombre)
return

valor = input("Dime tu nombre")


saludo(valor)

Funciones 7) Ejecutar el siguiente programa

def saludar(nombre, mensaje=' Hola '):


print (mensaje + nombre)

usuario = input ("Introduce nombre")


saludar(usuario)

Funciones 8) Crear un programa con dos funciones. En el programa principal el usuario


introduce su nombre y edad. En una función llamada 'Saludo' , aparece en pantalla "Buenos
dias, nombre" y en la otra función aparece en pantalla "Pareces más joven que x años".
www.ibserveis.com Ejercicios con Python

Funciones 9) Ejecutar el siguiente programa (Ojo! versión 3.6 de Python)


Para verisones anteriores de Pyhton, utilizar instrucción 'print' como anteriormente.

def escribe_media(x, y):


media = (x + y) / 2
print(f"La media de {x} y {y} es: {media}")
return
a = 3
b = 5
escribe_media(a, b)
print("Programa terminado")

Funciones 10) Ejecutar el siguiente programa. ¿Qué diferencias hay con el anterior?

def calcula_media(x, y):


resultado = (x + y) / 2
return resultado

a = 3
b = 5
media = calcula_media(a, b)
print("Media de " + str(a) + " y " + str(b) + " es: " +str(media))
print("Programa terminado")

Funciones 11) Realizar programa "Calculadora". El usuario introduce 2 numeros por teclado y
en el programa hay 5 funciones: suma, resta, división, multiplicación y módulo de ambos
números.

Funcions 12) Crear programa donde el usuario intruduce su altura (cm), edad, sexo y peso actual. El
programa consta de una función que recibe los datos introducidos por el usuario y responde con una
referencia de peso referencia (aproximado de su peso ideal)

Por ejemplo : usuario introduce 176, 22, H, 79.


El programa ejecuta la fórmula: 50 + ((Altura-150) / 4) *3 + (Edad – 20) /4
(Si es mujer : formula * 0.9)
El resultado es: peso referencia = 70,5.

Funciones 13) Realizar programa de "Juego de dados", donde el usuario dispone de 100€ iniciales para
apostar lo que el desee, a un número del 1 al 6. El ordenador elige un número al azar, si coincide con la
pauesta , el usuario gana el doble de lo apostado. Si no coincide , pierde la puesta. El programa acaba
cuando el usuario se retire o no le quede dinero.
www.ibserveis.com Ejercicios con Python

PYGAME

Teoría: https://pythonprogramming.net/pygame-python-3-part-1-intro/

Instalación: https://youtu.be/AdUZArA-kZw

Pygame 1) Modificar el siguiente programa para que introduciendo "Maria" y "Fernando" aparezca una
imagen simbolo de la amistad. Si no es Maria, aparece una imagen "interrogante".
Tener , en la misma carpeta que el código, imágenes ocn el nombre: corazon.png , roto.jpg

import pygame
pygame.init()

display_width = 600
display_height = 400
white = (255,255,255)

gameDisplay = pygame.display.set_mode((display_width,display_height))
gameDisplay.fill(white)
pygame.display.set_caption('Juego del Amor')

clock = pygame.time.Clock()
ImgCorazon = pygame.image.load('corazon.png')
ImgRoto = pygame.image.load('roto.jpg')

iniX = (display_width * 0.25)


iniY = (display_height * 0.25)

def VerImagen(n):
if n==1:
gameDisplay.blit(ImgCorazon, (iniX,iniY))
elif n==2:
gameDisplay.blit(ImgRoto, (iniX,iniY))

pygame.display.update()
pygame.time.delay(2000)

def EligeImagen():
if (nombre1=="Maria" and nombre2=="Pedro"):
VerImagen(1)
elif (nombre1=="Maria" and nombre2=="Juan"):
VerImagen(2)

#nombre1 = input('Introduce primer nombre ')


#nombre2 = input('Introduce segundo nombre ')
nombre1="Maria"
nombre2="Juan"
EligeImagen()

pygame.quit()
quit()
www.ibserveis.com Ejercicios con Python

Pygame 2) Realizar programa donde el ordenador elige aleatoriamente un número del 1 al 6 y saca por
pantalla una imagen de un dado con ese número.

Pygame 3) Modificar el siguiente programa para que introduciendo "Maria" y "Juan" aparezca el texto
"Enhorabuena!" y si el primer nombre no es Maria, se escribe el texto "No es Maria"

import pygame
pygame.init()

display_width = 600
display_height = 400
white = (255,255,255)

gameDisplay = pygame.display.set_mode((display_width,display_height))
gameDisplay.fill(white)
pygame.display.set_caption('Juego del Amor')

clock = pygame.time.Clock()
ImgCorazon = pygame.image.load('corazon.png')
ImgRoto = pygame.image.load('roto.jpg')

iniX = (display_width * 0.25)


iniY = (display_height * 0.25)

pygame.font.init()
myfont = pygame.font.SysFont('Comic Sans MS', 30)

def EscribirTexto(palabras):
textsurface = myfont.render(palabras, False, (0, 0, 0))
gameDisplay.blit(textsurface,(100,50))
pygame.display.update()
pygame.time.delay(2000)

def VerImagen(n):
if n==1:
gameDisplay.blit(ImgCorazon, (iniX,iniY))
elif n==2:
gameDisplay.blit(ImgRoto, (iniX,iniY))

pygame.display.update()
pygame.time.delay(1000)

def EligeImagen():
if (nombre1=="Maria" and nombre2=="Pedro"):
VerImagen(1)
elif (nombre1=="Maria" and nombre2=="Juan"):
VerImagen(2)

#nombre1 = input('Introduce primer nombre ')


#nombre2 = input('Introduce segundo nombre ')
nombre1="Maria"
nombre2="Pedro"
EligeImagen()
EscribirTexto("Compatibles 100%")

pygame.quit()
quit()
www.ibserveis.com Ejercicios con Python

Pygame 4) Realizar programa de "Juego de dados", donde el usuario dispone de 100€ iniciales para
apostar lo que el desee, a un número del 1 al 6. El ordenador elige un número al azar, si coincide con la
apuesta , el usuario gana el doble de lo apostado. Si no coincide , pierde la puesta. El programa acaba
cuando el usuario se retire o no le quede dinero.

Pygame 5) Modificar el siguiente programa para que la imagen se mueva también en vertical:

import pygame
pygame.init()

display_width = 600
display_height = 400
white = (255,255,255)

screen = pygame.display.set_mode((display_width,display_height))
screen.fill(white)
pygame.display.set_caption('MOVE en XY')

clock = pygame.time.Clock()
ImgCorazon = pygame.image.load('corazon.png')

posicionX = (display_width * 0.25)


posicionY = (display_height * 0.25)

pygame.font.init()
myfont = pygame.font.SysFont('Arial', 30)

def VerImagen(x,y):
screen.blit(ImgCorazon, (x,y))
pygame.display.update()
pygame.time.delay(1000)
screen.fill(white)

#vecesX = input('Introduce X (1 a 10) ')


#vecesY = input('Introduce Y (1 a 10) ')
final=0
vecesX=5
vecesY=5

while not final:


for numero in range (0,vecesX):
posicionX = posicionX + 20
VerImagen(posicionX,posicionY)

letra = input('Introduce "f" para final')


if letra =="f": final=1

pygame.quit()
quit()
www.ibserveis.com Ejercicios con Python

Pygame 6) Modificar el siguiente programa para que muestre imágenes relativas al estado de un
humano 20% por debajo de su peso referencia, y un 20% y un 40% por encima de su peso de referencia.

import pygame

pygame.init()

display_width = 800
display_height = 600
white = (255,255,255)

gameDisplay = pygame.display.set_mode((display_width,display_height))
gameDisplay.fill(white)
pygame.display.set_caption('Peso Referencia')

clock = pygame.time.Clock()
ImgPersona = pygame.image.load('persona.png')

ini_x = (display_width * 0.1)


ini_y = (display_height * 0.5)

def VerPersona(pesoMove,x,y):
gameDisplay.blit(ImgPersona, (x,y))

for i in range(1,10):
x += 20
gameDisplay.blit(ImgPersona, (x,y))
pygame.display.update()
clock.tick(2)
gameDisplay.fill(white)

def PesoReferencia(altura,peso,edad,sexo="N"):
peso = 50 +((altura-150)/4)*3 + (edad-20)/4
if (sexo=="M") or (sexo=="m"):
peso = peso *0.9
return(peso)

#valor1 = float(input('introduce altura en cm '))


#valor2 = float(input('introduce peso en kg '))
#valor3 = float(input('introduce años de edad '))
#valor4 = input('introduce letra del sexo ')

PesoRef = PesoReferencia(170,70,46,"H")

print ('El peso referencia es ' + str(PesoRef))

VerPersona(PesoRef,ini_x,ini_y)

pygame.quit()
quit()
www.ibserveis.com Ejercicios con Python

Teoría: https://www.pythonmania.net/es/tags/pygame/

Pygame 7) Modificar el siguiente programa para que haya dos "Botones virtuales" en pantalla.

import pygame
pygame.init()

display_width = 600
display_height = 400
white = (255,255,255)
black = (0,0,0)

screen = pygame.display.set_mode((display_width,display_height))
screen.fill(white)
pygame.display.set_caption('Pulsando en XY')
pygame.display.update()

clock = pygame.time.Clock()

iniX = (display_width * 0.25)


iniY = (display_height * 0.25)
X=100
Y=200

pygame.font.init()
myfont = pygame.font.SysFont('Arial', 30)

def EscribirTexto(palabras,color):
label = myfont.render(palabras, False, color)
screen.blit(label,(100,50))
pygame.display.update()
pygame.time.delay(500)

def PosicionPulsada(px,py):
if px < (display_width * 0.5):
EscribirTexto("Boton1 pulsado",black)
else:
EscribirTexto("Parte derecha pulsada",black)

# Haz click sobre la pantalla, RETURN acaba


gameExit = False

while not gameExit:

for event in pygame.event.get():


if event.type == pygame.MOUSEBUTTONDOWN:
X = event.pos[0]
EscribirTexto("Posicion es " + str(X),black)
pygame.time.delay(500)
EscribirTexto("Posicion es " + str(X),white)
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_RETURN: gameExit = True
elif event.type == pygame.QUIT:
pygame.quit()
quit()

PosicionPulsada(X,Y)
pygame.quit()
quit()
www.ibserveis.com Ejercicios con Python

Pygame 8) En base al siguiente programa, realizar "Juego nave marciana" en movimiento.

https://pythonprogramming.net/pygame-tutorial-moving-images-key-input/

import pygame
pygame.init()

display_width = 800
display_height = 600

gameDisplay = pygame.display.set_mode((display_width,display_height))
pygame.display.set_caption('A bit Racey')

black = (0,0,0)
white = (255,255,255)

clock = pygame.time.Clock()
crashed = False
carImg = pygame.image.load('cat.png')

def car(x,y):
gameDisplay.blit(carImg, (x,y))

x = (display_width * 0.5)
y = (display_height * 0.5)
x_change = 0
car_speed = 0

while not crashed:


for event in pygame.event.get():
if event.type == pygame.QUIT:
crashed = True

if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
x_change = -5
elif event.key == pygame.K_RIGHT:
x_change = 5

if event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
x_change = 0

x += x_change

gameDisplay.fill(white)
car(x,y)

pygame.display.update()
clock.tick(60)

pygame.quit()
quit()
www.ibserveis.com Ejercicios con Python

Pygame 9) Crear programa "Adivina un número", donde el ordenador piensa un número al azar y el
usuario tiene 5 oportunidades para acertarlo, apareciendo una imagen de un globa cada vez más
grande si no acierta el número, hasta la imagen de un globo explotando si el usuario no acierta en las 5
oportunidades.
www.ibserveis.com Ejercicios con Python

LISTAS
https://devcode.la/tutoriales/listas-python/
http://www.mclibre.org/consultar/python/lecciones/python-listas.html

Listas 1) Ejecutar el siguiente programa:

dias = ["lunes", "martes", "miércoles", "jueves", "viernes"];


print("Días de la semana")
for elemento in dias:
print(elemento, end="")

Listas 1a) Ejecutar el siguiente programa:

dias = ["lunes", "martes", "miércoles", "jueves", "viernes"];


total = len(dias)
for i in range(total):
print(dias[i], end=" ")

Listas 2) Modificar el siguiente programa para que muestre "viernes, miercoles y lunes" (salto 2)

dias = ["lunes", "martes", "miércoles", "jueves", "viernes"];


ultimo = len(dias)-1
for i in range(ultimo, -1, -1):
print(dias[i], end=" ")

Listas 3) Modificar el siguiente programa para que muestre "lunes" en caso de introducir '1'

print("Días de la semana");

dato = input("Introduce número del 0 al 6");


num = int(dato);
print("El dia introducido es:" , dias[num] );

Listas 4) Modificar para que sustituya una de las marcas por una nueva introducida por el usuario:

motorcycles = ['honda', 'yamaha', 'suzuki']


print(motorcycles)
motorcycles[0] = 'ducati'
print(motorcycles)
www.ibserveis.com Ejercicios con Python

Listas 5) Modificar para que borre una de las marcas mediante numero introducido por usuario:

motorcycles = ['honda', 'yamaha', 'suzuki']


print(motorcycles)
del motorcycles[0]
print(motorcycles)

Listas 6 ) Modificar para que inserte nueva marca introducida por usuario:

motorcycles = ['honda', 'yamaha', 'suzuki']


motorcycles.insert(0, 'ducati')
print(motorcycles)

Listas 7) Ejecutar el siguiente programa:

alumnos = ['Ana', 'Pedro', 'Carolina']


for alumno in alumnos:
print("Bien hecho", alumno)

Listas 8) Añadir código al siguiente programa para que cuenta cuantas letras "a" hay en la frase y lo
escriba en pantalla al final.

sentence = input('Please enter a sentence: ')


no_spaces = ''

for letter in sentence:


if letter != ' ':
no_spaces += letter

print("You sentence with spaces removed:")


print(no_spaces)
www.ibserveis.com Ejercicios con Python

Listas 9) Añadir código al siguiente programa para que cuenta cuantas vocales hay en la frase
introducida por el usuario

frase = input('Introduce una frase: ')


cuenta = 0

todas = len(frase)
for i in range(todas):
if frase[i] == 'a':
cuenta = cuenta +1

print("Total de letras 'a'")


print(cuenta)

Listas 10) Modificar el programa para que el usuario introduzca una marca y se borre ese elemento de
la lista.

marcas = ["Alfa", "Bugatti", "Ford", "Renault", "Opel"]


print(marcas)
ultima = len(dias)-1
for i in range(ultima, -1, -1):
if marcas[i] == "Ford":
del marcas[i]
print(marcas)

Listas 11) Modificar programa que muestre correctamente, la lista de aprobadas y lista suspendidas.

notas = [4,6,7,3,5,10,6,8,1]
aprobadas =[]
suspendidas = []

for valor in notas:


if valor <5:
print ("Suspendido")
aprobadas.append(valor)
else:
print ("Aprobado")

print ("Lista notas aprobadas", aprobadas)


www.ibserveis.com Ejercicios con Python

Listas 12) Completar ,con las funciones necesarias, el siguiente programa:

lista = [1,2,3,4,5,6,7,8,9,10]
finalizar = False

def suma(x):
print('Lista sumada')
listasumada = [0,0,0,0,0,0,0,0,0,0]
for i in range(len(lista)):
listasumada[i] = lista[i] + x
print ('Lista Resultado')
print (listasumada)

# ---- MENU ----- #


while (finalizar == False):
print ("MENU")
print (" 1 - Suma")
print (" 2 - Multiplica")
print (" 3 - Exponente")
print (" 4 - Finalizar")
numero = int(input('Introduzca su opción (1-4)'))

if numero == 4:
break

valor = int(input('Introduce número para operar'))


if numero == 1:
suma(valor)
elif numero == 2:
multiplica(valor)

print('Fin del Programa calculo en listas')

Listas 13) A partir de la siguiente lista: datos= [10,20,30,40,50,60,70,80,90]


Crear programa, con dos funciones, en la primera función se muestra nueva lista con números menores
que 50 y en la segunda función se muestra otra nueva lista con números mayores que 80 selecionados
la lista original de datos.
www.ibserveis.com Ejercicios con Python

Listas 14) En bases a los siguientes datos, sacar por pantalla "Has aprobado X" cuando la nota del
alumno sea mayor o igual que 5 y la frase "Has suspendido X" cuando la nota sea menor que 5
alumnos = [["Ana", 5],
["Pedro", 3],
["Juan", 8],
["Julia",9]]

for alumno in alumnos:


if alumno[1]>= 5:
print("Bien hecho", alumno[0])

Listas 15) Añadir código para que sean dos jugadores los que intentan adivinar el nombre:

name = 'Harrison'
guess = input("So I'm thinking of person's name. Try to guess it: ")
pos = 0

while guess != name and pos < len(name):


print("Nope, that's not it! Hint: letter ", end='')
print(pos + 1, "is", name[pos] + ". ", end='')
guess = input("Guess again: ")
pos = pos + 1

if pos == len(name) and name != guess:


print("Too bad, you couldn't get it. The name was", name + ".")
else:
print("\nGreat, you got it in", pos + 1, "guesses!")

Listas 16) Programa que permite crear una lista de palabras y que, a continuación, pida dos palabras y
sustituya la primera por la segunda en la lista.

numero = int(input("Dígame cuántas palabras tiene la lista: "))

if numero < 1:
print("¡Imposible!")
else:
lista = []
for i in range(numero):
print("Dígame la palabra", str(i + 1) + ": ", end="")
palabra = input()
lista += [palabra]
print("La lista creada es:", lista)

buscar = input("Sustituir la palabra: ")


sustituir = input("por la palabra: ")
for i in range(len(lista)):
if lista[i] == buscar:
lista[i] = sustituir
print("La lista es ahora:", lista)
www.ibserveis.com Ejercicios con Python

Listas 17) Añadir función que muestre los alumnos aprobados

lista = ["Ana", "Bernat", "Carol", "David", "Elena", "Francesc"]


notas = []
numero = 0
finalizar = False

def mostrar():
print('Notas actuales:')
for i in range(5):
print (notas[i])
print (notas)

def modificar(numAlumno):
nuevaNota = int(input('Introduzca nueva nota'))
notas[numAlumno] = nuevaNota

print ('Inicio del Programa Notas')


for alumno in lista:
notas.append(1)

while (finalizar == False):


numero = int(input('Introduzca el número del alumno (0-5)'))
modificar(numero)
mostrar()
finalizar = int(input('Pulsa 0 para seguir'))

print('Fin del Programa Notas')

Listas 18) Crear programa con dos Arrays, el primero llamado DatosIniciales con 10 números
entre el 0 y el 50 elegidos al azar. El segundo Array se llama DatosFinales, y se declara con
10 posibles valores.
A través de una función, se rellena el Array DatosFinales con los números mayores de 25 del
Array DatosIniciales.
www.ibserveis.com Ejercicios con Python

Listas 19) Realizar programa donde el usuario introduce una palabra y el ordenador responde
el número total de vocales contenidas. Realizar código con una FUNCIÓN ,que recibe como
parámetro esa palabra.

Listas 20) Realizar juego SIMPLE, tipo "Ahorcado": el usuario introduce letras tratando de
adivinar una palabra que el ordenador tiene almacenada.

Listas 21) Modificar para que muestre los resultados de la tabla de multiplicar del 9:

resultados = []
for value in range(1,11):
cuadrado = value**2
resultados.append(cuadrado)
print(resultados)

Listas 22) Modificar para que muestre los resultados de elevar al cuadrado los 10 primeros numeros
enteros:

squares = [value*5 for value in range(1,11)]


print(squares)

Listas 23) Ejecutar el siguiente programa:

personas_autorizadas = ["Juan", "Ana", "Laura"]


nombre = input("Dígame su nombre: ")
if nombre in personas_autorizadas:
print("Está autorizado")
else:
print("No está autorizado")
www.ibserveis.com Ejercicios con Python

CLASES

Clases 1) Sin ejecutar, escribir método (función) para "calentar" el motor del coche, afectando a la
variable temperatura. Guardar código como : archivocoche.py

class Coche:
def __init__(self, velocidad, nombre, temperatura):
self.velocidad = velocidad
self.nombre = nombre
self.temperatura = temperatura

def acelerar(self):
self.velocidad += 1
print ('La velocidad actual es de ' + str(self.velocidad))

def frenar(self):
if self.velocidad == 0:
print ('El Coche se ha detenido' )
else:
self.velocidad -= 1
print ('La velocidad actual es de ' + str(self.velocidad))

1 a) Crear nuevo archivo llamado principal.py con el siguiente código , y EJECUTARLO.

import archivocoche

mercedes = archivocoche.Coche(0, 'Mercedez Benz', 15)


mercedes.acelerar()
mercedes.acelerar()
mercedes.acelerar()
mercedes.frenar()

b) Añadir un "Menú" al siguiente código, para que el usuario pueda "acelerar" y "frenar" según tecla
pulsada.
www.ibserveis.com Ejercicios con Python

Clases 2) Al código anteior, añadir la posibilidad de frenar o acelerar un número determinado por el
usuario, por ejemplo: mercedes.acelerar(5) , donde 5 lo ha introducido el usuario.

Clases 3) En base a los siguientes métodos (funciones), crear clase "Calculadora" y utilizarla mediante
import en otro archivo, con instrucciones tipo : Calculadora.suma(2,2)

#-Funciones-#
def multiplicar(num1, num2):
resultado = num1 * num2
return resultado

def restar(num1, num2):


resultado = num1 - num2
return resultado

def sumar(num1, num2):


resultado = num1 + num2
return resultado

def dividir(num1, num2):


resultado = num1 / num2
return resultado

Clases 4) Crear una clase : cuenta_banco, con la proiedad de 'saldo' y los métodos de aumentar y
disminuir saldo. Crear nuevo archivo "cajero automático" donde utilza el objeto cuenta_banco
aumentando o disminuyendo el saldo dependiendo cantidad introducida por el usuario.
www.ibserveis.com Ejercicios con Python

Clases 5) Completar el siguiente código, añadiendo un método "arrancar" a la clase Moto y utilizarlo en
el programa principal.

class Vehicle(object):
def __init__(self, color, doors, tires, vtype):
"""Constructor"""
self.color = color
self.doors = doors
self.tires = tires
self.vtype = vtype

def brake(self):
# Stop the car
return "%s braking" % self.vtype

def drive(self):
# Drive the car
return "I'm driving a %s %s!" % (self.color, self.vtype)

class Moto(Vehicle):
# Hereda estructura de Vehicle
def brake(self):
# Sobreescribe Método Brake de la clase "madre"
return "The vehicle is breaking slowly!"

if __name__ == "__main__":
car = Vehicle("blue", 5, 4, "car")
print(car.brake())
print(car.drive())

truck = Vehicle("red", 3, 6, "truck")


print(truck.drive())
print(truck.brake())

vespino = Moto("Green",0,2,"moto")
print(vespino.drive())
print(vespino.brake())
www.ibserveis.com Ejercicios con Python

Clases 6) Crear clase derivada de cuentabanco ,llamada cuentaahorro añadiendo la variable (propiedad)
% de ahorro mensual. Utilizarla en el "cajero automático" anterior.
www.ibserveis.com Ejercicios con Python

Clases 7) En base al siguiente código, crear archivo con la clase: Tamagotchi. Utilizarla importando.
Completar con más propiedades y métodos. Completar programa principal hasta que sea "jugable".

class Tamagotchi(object):

def __init__(self, nombre):


self.nombre = nombre
self.peso = 10
self.sueño = 10
self.juego = 10
self.higiene = 10

def alimentar(self, comida):


self.peso += comida
print ('Peso : ' + str(self.peso))
return self.peso

def jugar(self, recreo):


self.juego += recreo
print ('Alegria: ' + str(self.juego))
return self.juego

def dormir(self, horas):


if horas > 8:
print ('Demasiadas horas de sueño.')
else:
self.sueño = self.sueño + horas
print ('Que bien ha dormido ' + str(horas) + " h.")
return self.sueño

#fin clase tamagotchi

def Imagen(x,y,estado):
if estado ==1:
gameDisplay.blit(Img1,(x,y))
if estado ==2:
gameDisplay.blit(Img2,(x,y))
if estado ==3:
gameDisplay.blit(Img3,(x,y))
pygame.display.update()
time.sleep(1)

def Juego():
x = (display_width * 0.5)
y = (display_height * 0.5)
comida = 0
cama = 0
pelota = 0
estado = 2
gameExit = False

bitxo = Tamagotchi('Juanito')
www.ibserveis.com Ejercicios con Python

while not gameExit:


for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()

if event.type == pygame.KEYDOWN:
if event.key == pygame.K_q:
comida = 1
if event.key == pygame.K_w:
comida = 5
if event.key == pygame.K_a:
cama = 1
if event.key == pygame.K_s:
cama = 5
if event.key == pygame.K_z:
pelota = 1

peso = bitxo.alimentar(comida)
if peso>15:
print ("Tu tamagotchi no puede más")
estado = 3
gameExit = 1

contento = bitxo.jugar(pelota)
if contento>12:
print ("Tu tamagotchi esta contento")
estado = 2
#etc, etc...

gameDisplay.fill(white)
Imagen(x,y,estado)
#clock.tick(60)

#Configuración pygame
import pygame
import time
pygame.init()
display_width = 640
display_height = 480
black = (0,0,0)
white = (255,255,255)
red = (255,0,0)
#car_width = 73

gameDisplay = pygame.display.set_mode((display_width,display_height))
pygame.display.set_caption('Tamagotchi game')
clock = pygame.time.Clock()
Img1 = pygame.image.load('tama_1.jpg')
Img2 = pygame.image.load('tama_2.jpg')
Img3 = pygame.image.load('tama_3.jpg')

#Inicio juego
Juego()
pygame.quit()
quit()
www.ibserveis.com Ejercicios con Python

También podría gustarte