Está en la página 1de 10

FUNDAMENTOS DE

PROGRAMACIÓN

Tr

Juego ahorcado

DISEÑO Y DESARROLLO DE SOFTWARE


PROGRAMA DE FORMACIÓN REGULAR
Nro. DD-106
Laboratorio de Fundamentos de Programación Página 2 de 2

CODIGO DEL CURSO:

Alumno(s) Nota

Solis clemente Ronaldo victor

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.

III.- FUNDAMENTO TEÓRICO:


1. Revisar el texto guía que está en el campus Virtual.

IV.- NORMAS EMPLEADAS:


2. No aplica

V.- RECURSOS:
 En este laboratorio cada alumno trabajará con un equipo con Windows 10.

VI.- METODOLOGÍA PARA EL DESARROLLO DE LA TAREA:


 El desarrollo del laboratorio es individual.

VII.- MARCO TEÓRICO:

Código del juego ahorcado

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 displayBoard(AHORCADO, letraIncorrecta, letraCorrecta, palabraSecreta):


print(AHORCADO[len(letraIncorrecta)])
print("")
fin = " "
print('Letras incorrectas:', fin)
for letra in letraIncorrecta:
print(letra, fin)
print("")
espacio = '_' * len(palabraSecreta)
for i in range(len(palabraSecreta)): # Remplaza los espacios en blanco por la
letra bien escrita
if palabraSecreta[i] in letraCorrecta:
espacio = espacio[:i] + palabraSecreta[i] + espacio[i + 1:]
for letra in espacio: # Mostrará la palabra secreta con espacios entre letras
print(letra, fin)
print("")

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

CORREMOS EL JUEGO Y TRATAREMOS DE IDENTIFICAR LA PALABRA QUE NOS DAN


"C:\ejercicios de python\venv\Scripts\python.exe" "C:\ejercicios de python\proyecto.py"
AHORCADO

+---+
| |
|
|
|
|
=========

Letras incorrectas:

_
_
_
_
_
_
Lab 11
Laboratorio de Fundamentos de Programación Página 4 de 9

Adivina una letra:


a

+---+
| |
|
|
|
|
=========

Letras incorrectas:

_
_
_
a
_
_
_

Adivina una letra:


b

+---+
| |
O |
|
|
|
=========

Letras incorrectas:
b

_
_
_
a
_
_
_

Adivina una letra:


c

+---+
| |
O |
| |
|
Lab 11
Laboratorio de Fundamentos de Programación Página 5 de 9

|
=========

Letras incorrectas:
b
c

_
_
_
a
_
_
_

Adivina una letra:


d

+---+
| |
O |
| |
|
|
=========

Letras incorrectas:
b
c

_
_
_
a
d
_
_

Adivina una letra:


e

+---+
| |
O |
/| |
|
|
=========

Letras incorrectas:
b
c
e
Lab 11
Laboratorio de Fundamentos de Programación Página 6 de 9

_
_
_
a
d
_
_

Adivina una letra:


r

+---+
| |
O |
/| |
|
|
=========

Letras incorrectas:
b
c
e

_
_
_
a
d
_
r

Adivina una letra:


u

+---+
| |
O |
/|\ |
|
|
=========

Letras incorrectas:
b
c
e
u

_
_
_
Lab 11
Laboratorio de Fundamentos de Programación Página 7 de 9

a
d
_
r

Adivina una letra:


i

+---+
| |
O |
/|\ |
/ |
|
=========

Letras incorrectas:
b
c
e
u
i

_
_
_
a
d
_
r

Adivina una letra:


o

+---+
| |
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

Adivina una letra:

Introduce una sola letra.


Adivina una letra:
p

+---+
| |
O |
/|\ |
/\ |
|
=========

Letras incorrectas:
b
c
e
u
i
p

_
o
_
a
d
o
r

¡Se ha quedado sin letras!


Despues de 6 letras erroneas y 4 letras correctas, la palabra era "volador"
Quieres jugar de nuevo? (Si o No)

También podría gustarte