Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
360 changes: 360 additions & 0 deletions El_Ahorcado.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,360 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "c1efe556",
"metadata": {},
"source": [
"# Juego del Ahorcado"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "11721caa",
"metadata": {},
"outputs": [],
"source": [
"import random #Importando la librería random"
]
},
{
"cell_type": "markdown",
"id": "e7c37ae7",
"metadata": {},
"source": [
"Esta función escoge una palabra al azar entre la lista de palabras indicada"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "0ff23292",
"metadata": {},
"outputs": [],
"source": [
"def palabra_aleatoria(lista_de_palabras):\n",
" return random.choice(lista_de_palabras)"
]
},
{
"cell_type": "markdown",
"id": "7ca10688",
"metadata": {},
"source": [
"Función para elegir la categoría en que jugará"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "27b6113a",
"metadata": {},
"outputs": [],
"source": [
"def categoria():\n",
" opcion = int(input((\"Elija una categoría (escriba el número correspondiente) \\n\"\n",
" \"1. Geografía \\n\"\n",
" \"2. Cine y libros \\n\"\n",
" \"3. Astronomía \\n\"\n",
" \"4. Matemáticas \\n\")))\n",
" ############ LISTAS DE PALABRAS ############\n",
" #PARA GEOGRAFÍA: \n",
" facil_geo= ['area','lava','rural','arido','bahia','jaral','rios','mapa','clima','andes','llanos','playas','costa','delta','valle','duna']\n",
" medio_geo= ['caudal','lacustre','argentina','bolivia','istmo','ladera','orografico','sotavento','oceano','continente','cordillera','cuenca','depresion','atlantico','pacifico','mediterraneo','ensenada']\n",
" dificil_geo= ['hidrografica','xeromorfico','inmigracion','septentrional','interfluvio','sedimentacion','mesomorfica','precordillera','metropolitana',]\n",
" geo=[facil_geo,medio_geo,dificil_geo]\n",
" \n",
" #PARA CINE Y LIBROS: \n",
" facil_cine= ['thor','loki','frodo','bella','viuda','mujer','lomo','texto','bruja','hada']\n",
" medio_cine= ['marvel','saruman','maravilla','codigo','margen','pagina','duende','harley','saurom','el titanic','sirenita','anillos','crepusculo','bestia','terror','comedia','romance','fantasia']\n",
" dificil_cine= ['el pianista','los vengadores','soy leyenda','orgullo y prejuicio','juego del miedo','la mujer maravilla','anna karenina','la noche de la expiacion','v de venganza','nada es lo que parece']\n",
" cine=[facil_cine,medio_cine,dificil_cine]\n",
" \n",
" #PARA ASTRONOMÍA: \n",
" facil_astro= ['fugaz','venus','orion','marte','ruta','polar','nova','tempo','terra']\n",
" medio_astro= ['estrella','saturno','pulsar','urano','cometa','supernova','aurora','nube de oort','pluton','ionizacion','galaxias','jupiter','refractor','reflector']\n",
" dificil_astro= ['constelacion','geocentrica','heliocentrica','desplazamiento','clasificacion espectral','observatorios','coordenadas celestes','transneptuniano']\n",
" astro=[facil_astro,medio_astro,dificil_astro]\n",
" \n",
" #PARA MATEMÁTICAS: \n",
" facil_mat= ['vacio','menor','mayor','suma','resta']\n",
" medio_mat= ['topologia','intervalo','metodos','ramanujan','pitagoras','teorema','varianza','covarianza','operacion','adicion','compacidad','numerable','conjunto','diferencia','analisis']\n",
" dificil_mat= ['estadistica','metodos numericos','algoritmico','interseccion','investigacion de operaciones','sustraccion','divisibilidad','plano cartesiano']\n",
" mat=[facil_mat,medio_mat,dificil_mat]\n",
" \n",
" global facil\n",
" global medio\n",
" global dificil\n",
" while opcion <= 4:\n",
" if opcion == 1: #geografía\n",
" return geo\n",
" elif opcion == 2: #cine y libros\n",
" return cine\n",
" elif opcion == 3: #astronomía\n",
" return astro\n",
" elif opcion == 4: #matemáticas\n",
" return mat\n",
" else:\n",
" dif = int(input('Selecciona una categoría: 1, 2 , 3 o 4: '))"
]
},
{
"cell_type": "markdown",
"id": "37c7e530",
"metadata": {},
"source": [
"En modo_de_juego() se elige la categoría, llamando la funcion categoria(), y se escoge el nivel de dificultad"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "4b05ffaa",
"metadata": {},
"outputs": [],
"source": [
"def modo_de_juego():\n",
" \n",
" categ=categoria() #elegir categoría\n",
" \n",
" dificultad = int(input(\"¿Qué grado de dificultad? Elige un número: \\n\"\n",
" \"1. Facil (de 4 o 5 letras)\\n\"\n",
" \"2. Medio (entre 6 a 10 letras)\\n\"\n",
" \"3. Dificil (más de 10 letras)\\n\"))\n",
" \n",
" global palabra_ahorcado\n",
" \n",
" if dificultad <=3 and dificultad >=1:\n",
" palabra_ahorcado = palabra_aleatoria(categ[dificultad-1]) #es -1 porque contamos desde el cero\n",
" return palabra_ahorcado\n",
" else:\n",
" while dificultad<1 or dificultad>3 :\n",
" dificultad = int(input('Selecciona una dificultad: 1, 2 o 3: '))\n"
]
},
{
"cell_type": "markdown",
"id": "bd482802",
"metadata": {},
"source": [
"Función para preguntarle al usuario si desea seguir jugando"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "11cb9bcb",
"metadata": {},
"outputs": [],
"source": [
"def de_nuevo():\n",
" resp = input(\"¿Quieres seguir jugando?: si o no: \")\n",
" if resp == 'si':\n",
" print(\"¡Comencemos!\")\n",
" ahorcado()\n",
" else:\n",
" global juego\n",
" juego= \"no\"\n",
" print(\"Gracias por jugar :D\\n \")"
]
},
{
"cell_type": "markdown",
"id": "a76f0b61",
"metadata": {},
"source": [
"Función para hacer el dibujo del ahorcado"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "64860e7a",
"metadata": {},
"outputs": [],
"source": [
"def dibujo(x):\n",
" if x==6:\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\" ___\")\n",
" print(\" (o o)\")\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\" \")\n",
" if x==5:\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\" ___\")\n",
" print(\" (o o)\")\n",
" print(\" ──█──\")\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\" \")\n",
" if x==4:\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\" ___\")\n",
" print(\" (o o)\")\n",
" print(\" ──█──\")\n",
" print(\" / \\ \")\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\" \")\n",
" if x==3:\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\" ___\")\n",
" print(\" (o o)\")\n",
" print(\" ──█──\")\n",
" print(\" / \\ \")\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\" \")\n",
" print(\"▄▄█▄▄\")\n",
" if x==2:\n",
" print(\" \")\n",
" print(\" █ \")\n",
" print(\" █ ___\")\n",
" print(\" █ (o o)\")\n",
" print(\" █ ──█──\")\n",
" print(\" █ / \\ \")\n",
" print(\" █ \")\n",
" print(\" █ \")\n",
" print(\" █ \")\n",
" print(\" █ \")\n",
" print(\"▄▄█▄▄\")\n",
"\n",
" if x==1:\n",
" print(\" ▄▄▄▄▄▄▄▄▄▄ \")\n",
" print(\" █ |\")\n",
" print(\" █ _|_\")\n",
" print(\" █ (x x)\")\n",
" print(\" █ ──█──\")\n",
" print(\" █ / \\ \")\n",
" print(\" █ \")\n",
" print(\" █ \")\n",
" print(\" █ \")\n",
" print(\" █ \")\n",
" print(\"▄▄█▄▄\")"
]
},
{
"cell_type": "markdown",
"id": "79dad17d",
"metadata": {},
"source": [
"La función ahorcado() usa las otras funciones que ya se declararon previamente, es la función que se ejecutará para jugar"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "59b9acd8",
"metadata": {},
"outputs": [],
"source": [
"def ahorcado():\n",
" global juego\n",
" oportunidades = 6\n",
" dibujo_ahorcado=0\n",
" juego = input(\"Bienvenid@s al Juego del Ahorcado\\n Tiene varias categorías a elegir y 3 niveles de dificultad que\"\n",
" \"\\n dependen de la longitud de la palabra. Dispone de 6 oportunidades :D\\n ¿Listo para jugar? si o no: \").lower()\n",
" \n",
" \n",
" while juego == 'si':\n",
" espacios = []\n",
" adivinadas = []\n",
" modo_de_juego()\n",
" print(\"_ \" * len(palabra_ahorcado))\n",
"\n",
" while oportunidades > 0 and \"\".join(espacios) != palabra_ahorcado:\n",
" \n",
" letra = input(\"¿Qué letra crees que contiene? \").lower()\n",
" espacios = []\n",
" \n",
" o=oportunidades ######\n",
" errores = [1 for j in letra if j not in palabra_ahorcado]\n",
" oportunidades -= sum(errores)\n",
" if o!=oportunidades:\n",
" dibujo(o)\n",
"\n",
" for idx,l in enumerate(palabra_ahorcado):\n",
" if l in letra:\n",
" adivinadas.append(l)\n",
" espacios.append(l)\n",
" elif l in adivinadas:\n",
" espacios.append(l)\n",
"\n",
" else:\n",
" espacios.append(\"_ \")\n",
"\n",
" print(\"\\n Te quedan {} oportunidades\".format(oportunidades)\n",
" + \"\\n Palabra: \".format(espacios)\n",
" + \"\\n Adivinada: \" + \", \".join(adivinadas))\n",
"\n",
" print(''.join(espacios))\n",
"\n",
" if \"\".join(espacios) == palabra_ahorcado:\n",
" print(\"\\n\\n¡Felicidades:¡GANASTE! :D \\n\")\n",
" de_nuevo()\n",
" else:\n",
" print(\"\\n¡Game over!\\n Perdiste :( \\n La palabra era: {}\".format(palabra_ahorcado))\n",
" de_nuevo()\n",
" \n",
" else:\n",
" print('¡Adios! \\n Vuelve pronto')"
]
},
{
"cell_type": "markdown",
"id": "04afec96",
"metadata": {},
"source": [
"Ejecutar el juego\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "dccddf2e",
"metadata": {},
"outputs": [],
"source": [
"ahorcado()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.8"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Loading