{"id":10506,"date":"2021-01-14T10:43:50","date_gmt":"2021-01-14T09:43:50","guid":{"rendered":"https:\/\/perdiendo.org\/museodemetralla\/?p=10506"},"modified":"2021-01-14T16:41:26","modified_gmt":"2021-01-14T15:41:26","slug":"reino-de-dragones","status":"publish","type":"post","link":"https:\/\/perdiendo.org\/museodemetralla\/?p=10506","title":{"rendered":"reino de dragones"},"content":{"rendered":"<p><a href=\"https:\/\/inventwithpython.com\/es\/6.html\">Este ejercicio<\/a> me ha gustado mucho. Descubrir que se puede hacer que se ejecute una funci\u00f3n como expresi\u00f3n de una variable me ha volado la cabeza. Es tont\u00edsimo, pero tambi\u00e9n lo soy yo. Escrib\u00ed el c\u00f3digo y despu\u00e9s estuve un rato intentando entender por qu\u00e9 estaba funcionando y me divert\u00ed un ratazo. Mientras siga divirti\u00e9ndome seguro que al final termino aprendiendo a hacer algo.<\/p>\n<pre><code># mancantao\r\n\r\nimport random # importa el m\u00f3dulo random para n\u00fameros aleatorios\r\nimport time # importa el m\u00f3dulo time para los delays de explorarCueva\r\n\r\n# El programa va a definir algunas funciones antes de empezar\r\n\r\ndef mostrarIntroducci\u00f3n(): # defines la funci\u00f3n de la introducci\u00f3n, no mucho m\u00e1s que decir\r\n\r\n# se podr\u00eda hacer con un print parti\u00e9ndolo con \\n\r\n\r\n'''\r\n    print('Est\u00e1s en una tierra llena de dragones. Frente a ti' '\\n' 'hay dos cuevas. En una de ellas el drag\u00f3n es generoso y' '\\n' 'amigable y compartir\u00e1 su tesoro contigo. El otro drag\u00f3n' '\\n' 'es codicioso y est\u00e1 hambriento y te devorar\u00e1 inmediatamente.')\r\n\r\n'''\r\n    print('Est\u00e1s en una tierra llena de dragones. Frente a ti')\r\n    print('hay dos cuevas. En una de ellas el drag\u00f3n es generoso y')\r\n    print('amigable y compartir\u00e1 su tesoro contigo. El otro drag\u00f3n')\r\n    print('es codicioso y est\u00e1 hambriento y te devorar\u00e1 inmediatamente.')\r\n\r\ndef elegirCueva():\r\n    # puedes meter lo que quieras, se va a sobreescribir en cuanto responda el paco, pero es m\u00e1s elegante crear una cadena vac\u00eda\r\n    # y m\u00e1s interesante meter algo que nadie va a ver\r\n    cueva = 'Gustavo Bueso es un fraude'\r\n    # cachondo, si no es uno o dos repite el bucle hasta que el paco responda lo que debe, si es 1 o 2 sigue adelante\r\n    while cueva != '1' and cueva != '2':\r\n        print('\u00bfA qu\u00e9 cueva quieres entrar? (1 o 2)')\r\n        cueva = input()\r\n\r\n    # hace que la funci\u00f3n elegirCueva, al terminar, devuelva el valor de la variable cueva, as\u00ed que el resultado de elegirCueva() ser\u00eda 1 o 2\r\n    return cueva\r\n\r\ndef explorarCueva(cuevaElegida):\r\n    print('Te aproximas a la cueva...')\r\n    time.sleep(2)\r\n    print('Es oscura y espeluznante...')\r\n    time.sleep(2)\r\n    print('\u00a1Un gran drag\u00f3n aparece s\u00fabitamente frente a ti! Abre sus fauces y...')\r\n    print()\r\n    time.sleep(2)\r\n\r\n    cuevaAmigable = random.randint(1,2) # asocia un n\u00famero aleatorio entre 1 y 2 a cuevaAmigable\r\n\r\n    if cuevaElegida == str(cuevaAmigable):\r\n        print('\u00a1Te regala su tesoro!')\r\n    else:\r\n        print('\u00a1Te engulle de un bocado!')\r\n\r\n# Y el programa empieza\r\n\r\njugarDeNuevo = 'si' # empieza d\u00e1ndole un valor si a jugarDeNuevo para poner en marcha el while\r\nwhile jugarDeNuevo == 'si' or jugarDeNuevo == 's':\r\n\r\n    mostrarIntroducci\u00f3n()\r\n\r\n    n\u00fameroDeCueva = elegirCueva() # asocia n\u00fameroDeCueva a la ejecuci\u00f3n de elegirCueva!!! eso mola un mont\u00f3n. El valor que devuelve se le asigna a n\u00fameroDeCueva\r\n\r\n    explorarCueva(n\u00fameroDeCueva) # ejecuta explorarCueva con el valor de n\u00famero de Cueva\r\n\r\n    print('\u00bfQuieres jugar de nuevo (si o no)')\r\n    jugarDeNuevo = input()<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Este ejercicio me ha gustado mucho. Descubrir que se puede hacer que se ejecute una funci\u00f3n como expresi\u00f3n de una variable me ha volado la cabeza. Es tont\u00edsimo, pero tambi\u00e9n lo soy yo. Escrib\u00ed el c\u00f3digo y despu\u00e9s estuve un rato intentando entender por qu\u00e9 estaba funcionando y me divert\u00ed un ratazo. Mientras siga divirti\u00e9ndome [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43],"tags":[],"class_list":["post-10506","post","type-post","status-publish","format-standard","hentry","category-python"],"_links":{"self":[{"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=\/wp\/v2\/posts\/10506","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10506"}],"version-history":[{"count":0,"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=\/wp\/v2\/posts\/10506\/revisions"}],"wp:attachment":[{"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10506"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10506"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10506"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}