Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROGRAMACIÓN
Tr
Juego ahorcado
Alumno(s) Nota
Grupo D
Ciclo 2022-1 ingresante
Fecha de entrega
Lab 11
Laboratorio de Fundamentos de Programación Página 1 de 9
I.- OBJETIVOS:
Elaborar y diseñar programas en Python que hagan uso de diccionarios
II.- SEGURIDAD:
Advertencia:
En este laboratorio está prohibida la manipulación del
hardware, conexiones eléctricas o de red; así como la
ingestión de alimentos o bebidas.
V.- RECURSOS:
En este laboratorio cada alumno trabajará con un equipo con Windows 10.
import random
AHORCADO = ['''
+---+
| |
|
|
|
|
=========''', '''
+---+
| |
O |
|
|
|
=========''', '''
+---+
| |
O |
| |
|
|
=========''', '''
+---+
| |
O |
/| |
|
|
=========''', '''
+---+
| |
O |
/|\ |
|
Lab 11
Laboratorio de Fundamentos de Programación Página 2 de 9
|
=========''', '''
+---+
| |
O |
/|\ |
/ |
|
=========''', '''
+---+
| |
O |
/|\ |
/ \ |
|
=========''']
palabras = 'valoracion aprenderpython comida juego python web imposible variable
curso volador cabeza reproductor mirada escritor billete lapicero celular valor
revista gratuito disco voleibol anillo estrella'.split()
def buscarPalabraAleat(listaPalabras):
# Esta funcion retorna una palabra aleatoria.c
palabraAleatoria = random.randint(0, len(listaPalabras) - 1)
return listaPalabras[palabraAleatoria]
def elijeLetra(algunaLetra):
# Devuelve la letra que el jugador ingreso. Esta función hace que el jugador
ingrese una letra y no cualquier otra cosa
while True:
print('Adivina una letra:')
letra = input()
letra = letra.lower()
if len(letra) != 1:
print('Introduce una sola letra.')
elif letra in algunaLetra:
print('Ya has elegido esa letra ¿Qué tal si pruebas con otra?')
elif letra not in 'abcdefghijklmnopqrstuvwxyz':
print('Elije una letra.')
else:
return letra
def empezar():
# Esta funcion devuelve True si el jugador quiere volver a jugar, de lo contrario
devuelve False
print('Quieres jugar de nuevo? (Si o No)')
return input().lower().startswith('s')
print('A H O R C A D O')
Lab 11
Laboratorio de Fundamentos de Programación Página 3 de 9
letraIncorrecta = ""
letraCorrecta = ""
palabraSecreta = buscarPalabraAleat(palabras)
finJuego = False
while True:
displayBoard(AHORCADO, letraIncorrecta, letraCorrecta, palabraSecreta)
# El usuairo elije una letra.
letra = elijeLetra(letraIncorrecta + letraCorrecta)
if letra in palabraSecreta:
letraCorrecta = letraCorrecta + letra
# Se fija si el jugador ganó
letrasEncontradas = True
for i in range(len(palabraSecreta)):
if palabraSecreta[i] not in letraCorrecta:
letrasEncontradas = False
break
if letrasEncontradas:
print('¡Muy bien! La palabra secreta es "' + palabraSecreta + '"! ¡Has
ganado!')
finJuego = Truea
else:
letraIncorrecta = letraIncorrecta + letra
# Comprueba la cantidad de letras que ha ingresado el jugador y si perdió
if len(letraIncorrecta) == len(AHORCADO) - 1:
displayBoard(AHORCADO, letraIncorrecta, letraCorrecta, palabraSecreta)
print('¡Se ha quedado sin letras!\nDespues de ' +
str(len(letraIncorrecta)) + ' letras erroneas y ' + str(
len(letraCorrecta)) + ' letras correctas, la palabra era "' +
palabraSecreta + '"')
finJuego = True
# Pregunta al jugador si quiere jugar de nuevo
if finJuego:
if empezar():
letraIncorrecta = ""
letraCorrecta = ""
finJuego = False
palabraSecreta = buscarPalabraAleat(palabras)
else:
break
+---+
| |
|
|
|
|
=========
Letras incorrectas:
_
_
_
_
_
_
Lab 11
Laboratorio de Fundamentos de Programación Página 4 de 9
+---+
| |
|
|
|
|
=========
Letras incorrectas:
_
_
_
a
_
_
_
+---+
| |
O |
|
|
|
=========
Letras incorrectas:
b
_
_
_
a
_
_
_
+---+
| |
O |
| |
|
Lab 11
Laboratorio de Fundamentos de Programación Página 5 de 9
|
=========
Letras incorrectas:
b
c
_
_
_
a
_
_
_
+---+
| |
O |
| |
|
|
=========
Letras incorrectas:
b
c
_
_
_
a
d
_
_
+---+
| |
O |
/| |
|
|
=========
Letras incorrectas:
b
c
e
Lab 11
Laboratorio de Fundamentos de Programación Página 6 de 9
_
_
_
a
d
_
_
+---+
| |
O |
/| |
|
|
=========
Letras incorrectas:
b
c
e
_
_
_
a
d
_
r
+---+
| |
O |
/|\ |
|
|
=========
Letras incorrectas:
b
c
e
u
_
_
_
Lab 11
Laboratorio de Fundamentos de Programación Página 7 de 9
a
d
_
r
+---+
| |
O |
/|\ |
/ |
|
=========
Letras incorrectas:
b
c
e
u
i
_
_
_
a
d
_
r
+---+
| |
O |
/|\ |
/ |
|
=========
Letras incorrectas:
b
c
e
u
i
_
o
_
a
Lab 11
Laboratorio de Fundamentos de Programación Página 8 de 9
d
o
r
+---+
| |
O |
/|\ |
/\ |
|
=========
Letras incorrectas:
b
c
e
u
i
p
_
o
_
a
d
o
r