tag:blogger.com,1999:blog-37993370933227513242023-11-16T05:34:05.343-08:00Blog dedicado a testear software y programación en Python 3.2, tutoriales, algoritmos, proyectos pequeños, un espacio para programadores principiantes y si te interesa desarrollar tus propios videojuegos este puede ser un buen inicio.Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.comBlogger22125tag:blogger.com,1999:blog-3799337093322751324.post-2493236741302085012021-04-27T21:55:00.003-07:002021-04-27T21:59:02.222-07:00Tutorial Python #2 Tipos de datos y primer excursión <div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://images.unsplash.com/photo-1511383085209-1eb022b34bf3?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1489&q=80" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="450" data-original-width="800" src="https://images.unsplash.com/photo-1511383085209-1eb022b34bf3?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1489&q=80" /></a></div></div><div class="separator" style="clear: both;"><br />En este segundo tutorial de Python hablaré un poco de los distintos tipos de datos que maneja este lenguaje de programación y voy a dar una introducción de como utilizar los programas que instalamos en el primer tutorial, que sino lo has visto aquí te dejo el link<span style="text-align: left;"> </span><a href="https://softwarezlive.blogspot.com/2021/04/tutorial-python-1-herramientas-y.html" style="text-align: left;">Tutorial Python #1<span><a name='more'></a></span></a></div><p>Antes que nada abran una terminal CMD en el terminal ponen el comando "python", esto va a correr python en consola.</p><p></p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2iNftYwp1fI0TFwXlrwEfRQUjg3fDpesoJs5I4jytxjtosIj_yQrLDFJm189fNAVNPmXYurWaPkTL3Nokxofra_Oq0SynnJ_kb5RHvK8T-TooFqbJiFudy9da2pDi4uTtjcWED6LCJQ//" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="153" data-original-width="662" height="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2iNftYwp1fI0TFwXlrwEfRQUjg3fDpesoJs5I4jytxjtosIj_yQrLDFJm189fNAVNPmXYurWaPkTL3Nokxofra_Oq0SynnJ_kb5RHvK8T-TooFqbJiFudy9da2pDi4uTtjcWED6LCJQ/w640-h148/image.png" width="640" /></a></div><br /><br /></div><div style="text-align: left;">Bien ahora ya estamos en la consola interactiva de Python en donde podemos introducir lineas de código y ver el resultado al instante, un ejemple sencillo de una suma de dos números:</div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRp6PXYeT1G7_GIcsskm9LYzsh2Pux1dDo4kBayYJqzB3qa2Cbo8s7Fpw2UqL9w-tF1kyWdSVLtaXyokmnyJ-ZOOsjaeCQnMb3KgH5k4XCjUVm3dRhQqxa13JjZtCkdvi8B7cjAQWeQQ//" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="178" data-original-width="671" height="170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRp6PXYeT1G7_GIcsskm9LYzsh2Pux1dDo4kBayYJqzB3qa2Cbo8s7Fpw2UqL9w-tF1kyWdSVLtaXyokmnyJ-ZOOsjaeCQnMb3KgH5k4XCjUVm3dRhQqxa13JjZtCkdvi8B7cjAQWeQQ/w640-h170/image.png" width="640" /></a></div><br /><span style="color: #a0ff77;">>>>52+5</span><div><span style="color: #a0ff77;">57</span></div><div><span style="color: #a0ff77;">>>></span></div><div>Como puedes ver es como estar utilizando una calculadora básica, tecleas un numero, después el símbolo de suma y el segundo numero después, enter y obtendrás el resultado al instante.</div><div><br /></div><div>Así puedes jugar con mas elementos en la suma<span style="color: #a0ff77;">(+)</span>, incluso puedes combinar mas operaciones como multiplicación<span style="color: #a0ff77;">(*)</span>, resta<span style="color: #a0ff77;">(-)</span>, division<span style="color: #a0ff77;">(/)</span>, potencias<span style="color: #a0ff77;">(**)</span> y aun mejor si importamos módulos matemáticos que nos darían la posibilidad de utilizar operaciones mas complejas.</div><div><br /></div><div><span style="color: #a0ff77;">>>>5+5*5-5**5/5</span></div><div><span style="color: #a0ff77;">-595.0</span></div><div><span style="color: #a0ff77;">>>></span></div><div><br /></div><div>Python tiene la singularidad de ser un lenguaje de programación muy sencillo, muy intuitivo casi al nivel del lenguaje que utilizamos cotidianamente los humanos lo cual lo convierte en una excelente opción para los que van comenzando en el mundo de la programación.</div><div><br /></div><div>>>>5+3<br />8<br />>>>5-7<br />-2<br />>>>5*2<br />10<br />>>>5/2<br />2<br />>>>5%2<br />1<br />>>>5//2<br />2<br />>>>5+2*2<br />9<br />>>>(5+2)*2<br />14<br />>>><div>Como pueden ver en los ejemplos eh utilizado algunos<b> operadores</b> nuevos:</div><div><ul style="text-align: left;"><li>// Operador de Division entera</li><li>% Operador de Modulo</li></ul></div></div><div>Los paréntesis (_) no son un operador pero en el caso de las operaciones matemáticas sirven para separar decirle al lenguaje que hacer primero.</div><div><br /></div><div>Cada operador por si sola tiene una jerarquía, esto quiere decir que el programa sabe que operador tiene mas importancia y así ejecutar primero o después una u otra operación, el grado de jerarquía varia entre el mínimo que es 1 y el máximo que es 4.</div><div><ol style="text-align: left;"><li>() </li><li>% </li><li>*, /, //</li><li>+, -</li></ol><div><div>Un ejemplo rápido de la jerarquía:</div><div><br /></div>>>>(2+2-2+(2+2)*2+3%2+2/2-2)<br />10<br />>>><br /><div>Bien para que se entienda un poco mejor iré desglosando la operación, remarcando la operación activa en cada paso:</div><div><ol style="text-align: left;"><li>(2+2-2+<b><span style="color: #a0ff77;">(2+2)</span></b>*2+3%2+2/2-2)</li><li>(2+2-2+4*2+<b><span style="color: #a0ff77;">3%2</span></b>+2/2-2)</li><li>(2+2-2+<b><span style="color: #a0ff77;">4*2</span></b>+1+2/2-2)</li><li>(2+2-2+8+1+<b><span style="color: #a0ff77;">2/2</span></b>-2)</li><li>(<b><span style="color: #a0ff77;">2+2</span></b>-2+8+1+1-2)</li><li>(<b><span style="color: #a0ff77;">4-2</span></b>+8+1+1-2)</li><li>(<span style="color: #a0ff77;"><b>2+8</b></span>+1+1-2)</li><li>(<span style="color: #a0ff77;"><b>10+1</b></span>+1-2)</li><li>(<b><span style="color: #a0ff77;">11+1</span></b>-2)</li><li>(<b><span style="color: #a0ff77;">12-2</span></b>)</li><li>(<span style="color: #a0ff77;">10</span>)</li><li><span style="color: #a0ff77;">10</span></li></ol></div></div></div><div><div>La jerarquía de los signos no solo esta en los operadores sino que también va de izquierda a derecha.</div><div><br /></div><div>Para hacer operaciones numéricas existen otros tipos de datos como los numeros complejos que se representan con una "j" enseguida del numero, ejemplo: 4j. También están los tipos flotantes o de coma flotante, ejemplo 4.2354986 y así es como se manejan en Python:</div><div><br /></div>>>>4+2j<br />(4+2j)<br />>>>5.0/2<br />2.5<br />>>></div><div><br /></div><div>Hasta ahora hemos hablado de números y operaciones, no olvides practicar y experimentar hasta que aprendas bien su manejo ya que los vamos a utilizar mucho en los siguientes tutoriales.</div><div><br /></div><div>Strings o cadenas de caracteres</div><div><br /></div><div>Ahora te voy a mostrar como utilizar el texto, y es tan facil como utilizar la funcion "print" esta funcion nos ayuda a imprimir en pantalla el texto que querramos, esta vez vamos a utilizar el IDLE de python para que puedas ver como Python representa las funciones, en el IDLE de python pon lo siguiente:</div><div><br /></div><div>>>>print("Hola Mundo Python")</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNZtMTi4fG82JLrJR6x7fuZtRfSycaqHNSVIc84MmVWjBNzOnsUlKzmZQRa7bOlJA5BddSKLdKP99oyN__r1E4zJOCijTi_xk042SdGUsHDE0M2hxaege05h7kCcn8pz6sPxgK0DfnOQ//" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="157" data-original-width="687" height="146" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNZtMTi4fG82JLrJR6x7fuZtRfSycaqHNSVIc84MmVWjBNzOnsUlKzmZQRa7bOlJA5BddSKLdKP99oyN__r1E4zJOCijTi_xk042SdGUsHDE0M2hxaege05h7kCcn8pz6sPxgK0DfnOQ/w640-h146/image.png" width="640" /></a></div><br />Si utilizamos el IDLE sin modificarlo podrás darte cuenta que las funciones las pone de color morado, los textos entre comillas de color verde y los resultados en color azul, es importante que recuerdes eso pues así identificaras rápidamente de que se trata el código.</div><h4 style="text-align: left;">Como crear un archivo para guardar el código</h4><div>Como te habrás dado cuenta una vez que cierras el IDLE o la terminal de CMD pierdes todo el código que has echo, para practicar o verificar funciones esta bien pero que pasa cuando ya necesitamos un código mas largo y complicado, seguro no querrás perder tu trabajo.</div><div><br /></div><div>Bien en la ventana del IDLE ve a "file" y después "New File", eso abrirá una nueva ventana.</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguUctBoiOSlXeaa10-Zq9HiNE52p161lxmy6atYyE59oS434TArUmkG3qH73ZmowHvuK0sICl0gaPa6hXkIpUhB7KjM1L_crQ2h2ThOlM-0VVJoQ50nTbBIHFNV83gfVIVhhG30q_syw//" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="512" data-original-width="870" height="376" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguUctBoiOSlXeaa10-Zq9HiNE52p161lxmy6atYyE59oS434TArUmkG3qH73ZmowHvuK0sICl0gaPa6hXkIpUhB7KjM1L_crQ2h2ThOlM-0VVJoQ50nTbBIHFNV83gfVIVhhG30q_syw/w640-h376/image.png" width="640" /></a></div><br />En esta nueva ventana vamos a poder agregar todo el codigo que querramos, guardarlo y abrirlo cuando querramos, hacer modificaciones y actualizaciones.</div><div><br /></div><div>Para guardarlo nos vamos nuevamente a File y después a "Save As..." </div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTzZoP-6FVFPIzyZrHh78uzyImNWd5v-acsNug_rtyUNVXSMrUdiQVRPB-AEy-RCvwZNMM6yBSOPbIeVZEH_Fi2Pu08X2wA_S6FwFFj5wY-bdcxjEOCuDrozJlDgxj6ziF5GoxfIqn-g//" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="462" data-original-width="988" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTzZoP-6FVFPIzyZrHh78uzyImNWd5v-acsNug_rtyUNVXSMrUdiQVRPB-AEy-RCvwZNMM6yBSOPbIeVZEH_Fi2Pu08X2wA_S6FwFFj5wY-bdcxjEOCuDrozJlDgxj6ziF5GoxfIqn-g/w640-h300/image.png" width="640" /></a></div><br /><br /></div><div>Importante mantener un orden desde el inicio, así que te recomiendo que crees una carpeta donde estarás guardando todos tus archivos de programación.</div><div><br /></div><div>Pon un nombre que sea fácil de identificar de que trata tu código y muy importante agregar ".py" al nombre del archivo para que pueda python identificar que se trata de un archivo de programación de python, de otra manera no sera reconocido y perderá sus características.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1DYG7cfYFr3yQotsC8krkatohKZH13WjsfXOIUsNRJdqtEzXFqDQiZGvdw6RlpxYgAeHHH75JuOfSXIuo9hHBmiNPPSO9ZEvpIdr_DqTEOyd0ff6_vcSSqpTwFJEpdlDPsgc1T1C-0Q//" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="117" data-original-width="636" height="118" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1DYG7cfYFr3yQotsC8krkatohKZH13WjsfXOIUsNRJdqtEzXFqDQiZGvdw6RlpxYgAeHHH75JuOfSXIuo9hHBmiNPPSO9ZEvpIdr_DqTEOyd0ff6_vcSSqpTwFJEpdlDPsgc1T1C-0Q/w640-h118/image.png" width="640" /></a></div><br />Para comprobar si tu código esta bien escrito directo de la ventana del archivo que queremos comprobar presionamos F5 o vamos al menu "Run" y elegimos la opción "Run Module".</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcpXn9pgJbVffE-alVRA4-NESjL1YBzO4FBk3tFIhDDV5xzPajetSSdH7dyhqFe2yPCRBW78ec0CY7P1h0AmRQujBOs-3TYW-RdyJLeXU86xXXZSaD7sHujSspyfC992554idfl07vlQ//" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="269" data-original-width="636" height="270" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcpXn9pgJbVffE-alVRA4-NESjL1YBzO4FBk3tFIhDDV5xzPajetSSdH7dyhqFe2yPCRBW78ec0CY7P1h0AmRQujBOs-3TYW-RdyJLeXU86xXXZSaD7sHujSspyfC992554idfl07vlQ/w640-h270/image.png" width="640" /></a></div><br />Te mostrará el resultado en el Shell </div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWMZmwJHG-nQXwoOC9xqFV1xIWAwkubwrMwL3QhpTctzt5gHCrDIrvpB_uhc9HrFNhs3qZqoElwsNj85ea_QYatfLezBTpG8Haw2686M7kman3rSXouy0J98sRCjuUJ5YyWkXbQVFUww//" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="189" data-original-width="672" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWMZmwJHG-nQXwoOC9xqFV1xIWAwkubwrMwL3QhpTctzt5gHCrDIrvpB_uhc9HrFNhs3qZqoElwsNj85ea_QYatfLezBTpG8Haw2686M7kman3rSXouy0J98sRCjuUJ5YyWkXbQVFUww/w640-h180/image.png" width="640" /></a></div><br /></div><div><a href="https://softwarezlive.blogspot.com/2021/04/tutorial-python-1-herramientas-y.html">< </a><a href="https://softwarezlive.blogspot.com/2021/04/tutorial-python-1-herramientas-y.html">Tutorial Python #1</a></div><div><br /><br /><br /></div>Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-85290917959890648822021-04-23T23:57:00.003-07:002021-04-27T22:12:36.908-07:00Tutorial Python #1 Herramientas y programas para iniciar<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX8Bf2wV6sLng7WhvmNE0IHM3Th0fbAYTWhyInblA-HJ7OcnMtydeQ5TgMQebmkzaaipff6JG0oUWpWNKVxXNJOsLSANW-G0mDP3I2r2c8jGid7ie1w6LbhzRC5e0cgHB1HRSBCGWWqQ/s2048/pexels-christina-morillo-1181359+%25281%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1367" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX8Bf2wV6sLng7WhvmNE0IHM3Th0fbAYTWhyInblA-HJ7OcnMtydeQ5TgMQebmkzaaipff6JG0oUWpWNKVxXNJOsLSANW-G0mDP3I2r2c8jGid7ie1w6LbhzRC5e0cgHB1HRSBCGWWqQ/s16000/pexels-christina-morillo-1181359+%25281%2529.jpg" /></a></div><br /><div><br /></div>Voy a comenzar desde cero una vez mas los tutoriales de Python, esta vez usaré Windows 7 y un framework que nos facilitará muchísimo el control de archivos y codificación en Python.<span><a name='more'></a></span><div><br /></div><div>Bien lo primero que vamos a instalar es Python 3.8.9 de 32bits ejecutable, pueden descargarlo desde <a href="https://www.python.org/downloads/windows/" target="_blank">aquí</a>, en mi caso es la version que puedo instalar pues estoy utilizando W7 si usas W10 puedes descargar una version mas nueva de Python.</div><span><!--more--></span><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAmKStbOjyOHHHaTodkZoC6P6t0dC49s2RMEXnkcuWiI7YB56wtjWalnlDaUk_jyqbkAU81pJd__VB5owEjjHmFR5a6VGvkbJLOzY2482RnWJQmFU9frZJDDWMIdbm1Ya1winEx3NCSQ/s539/version-python-3.8.9.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="211" data-original-width="539" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAmKStbOjyOHHHaTodkZoC6P6t0dC49s2RMEXnkcuWiI7YB56wtjWalnlDaUk_jyqbkAU81pJd__VB5owEjjHmFR5a6VGvkbJLOzY2482RnWJQmFU9frZJDDWMIdbm1Ya1winEx3NCSQ/w640-h250/version-python-3.8.9.jpg" width="640" /></a></div><br /><div><br /></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://www.python.org/downloads/windows/" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" target="_blank"><img alt="" data-original-height="132" data-original-width="125" height="88" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0rWoFFp5m7uIbfqRpHbhKDmDk71wz1MR7YKNs5JQ0vGIH2ESh8CsY0D5qlqx98HCZCKFyznX_M_OlY4KZHe0ngEIdXS-RjjIOdsVD5cNdKuL8b73iPhSAf5ZhMBPRbVgQBC21GTQ9Vg/w83-h88/image.png" width="83" /></a></div>Para instalar es muy sencillo, solo hay que dar doble click en el archivo .exe es importante que se instale en la raíz, "C:\Python38-32".</div><div><br /></div><div>Mas adelante explicare a detalle que es Python y sus componentes en su instalación.</div><div><br /></div><div>Bien ya tenemos instalado lo mas importante pero antes de comenzar vamos a instalar también el framework de Atom, pueden usar el que gusten, incluso hay opciones dedicadas a Python, pero Atom para mi es muy funcional, si lo quieren utilizar aquí les dejo el <a href="https://atom.io/" target="_blank">enlace</a> de la pagina donde podrán descargarlo de manera gratuita ya que Atom es Open Source. En su pagina podrán ver todas las ventajas que tiene, ya esta en ustedes si lo utilizan o no.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg48nFF0gTxaj9fGnaaDRVc3Q_kbvUwob23jJsYQpNrH6rQG-RWebBYANKHo6eLKmNbjWo68OYqvE5_J5kuxcrXKyLq7xPFDwkdjU4eVcYkkVnV357TdxkHL015Ru0DmPxgwqJErt1lWg//" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="526" data-original-width="1155" height="292" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg48nFF0gTxaj9fGnaaDRVc3Q_kbvUwob23jJsYQpNrH6rQG-RWebBYANKHo6eLKmNbjWo68OYqvE5_J5kuxcrXKyLq7xPFDwkdjU4eVcYkkVnV357TdxkHL015Ru0DmPxgwqJErt1lWg/w640-h292/image.png" width="640" /></a></div><br />Por ultimo aunque también pueden omitir este paso, vamos a instalar de una vez Pygame, este modulo lo estaremos utilizando para crear juegos básicos.</div><div><br /></div><div>Para instalar vamos a su pagina <a href="https://www.pygame.org/news" target="_blank">oficial Pygame</a> y damos click en "pygame 2 — 28 Oct, 2020" o pueden utilizar este otro <a href="https://github.com/pygame/pygame/releases/tag/2.0.0" target="_blank">link </a> que nos lleva al repositorio en GitHub y van a copiar lo siguiente <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8dQUnkBcslo8bP-1wLI5ycjL_g-19VkXZIXNFg1zKcdlXUCUKrHGWgvjM0ymG3yfo6ofvwzEKzyCxCVLg2Z9LPyWtKbAJY54_L2NBqafluvzEQEaawO3ayYGLyQtiUavmKePApoNQTQ//" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="109" data-original-width="387" height="90" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8dQUnkBcslo8bP-1wLI5ycjL_g-19VkXZIXNFg1zKcdlXUCUKrHGWgvjM0ymG3yfo6ofvwzEKzyCxCVLg2Z9LPyWtKbAJY54_L2NBqafluvzEQEaawO3ayYGLyQtiUavmKePApoNQTQ//" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">En mi caso yo tuve que modificar la instrucción para poder instalar Pygame 2.0 desde CMD:</div><div class="separator" style="clear: both; text-align: center;"><br /></div><h3 style="text-align: left;"><b>python -m pip install pygame==2.0.0</b></h3></div><div style="text-align: center;"><br /></div><div style="text-align: left;">Bien ahora vamos a abrir el CMD (modo administrador) y vamos a hacer lo siguiente:</div><div style="text-align: left;"><ul style="text-align: left;"><li>vamos poner el comando >_ python</li></ul><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv38hpSRxRXkZNgWA5FSssFE0tX1oNZ4cyrSpE35-LsvY1IpMhjO0S3Niyt-jhW3WRfTNEIKJ6sIRJyWYZhRErHaAb02148dVp4mvLSubEVeKKpke6bcRdibXVRqxhuIbdyYQsZDvtKw//" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="115" data-original-width="667" height="110" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv38hpSRxRXkZNgWA5FSssFE0tX1oNZ4cyrSpE35-LsvY1IpMhjO0S3Niyt-jhW3WRfTNEIKJ6sIRJyWYZhRErHaAb02148dVp4mvLSubEVeKKpke6bcRdibXVRqxhuIbdyYQsZDvtKw/w640-h110/image.png" width="640" /></a></div><br /><ul style="text-align: left;"><li>Si te sale lo siguiente vamos bien, sino tendrás que des-instalar y volver a hacerlo cuidando en instalar en la ruta correcta.</li></ul></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq0vt5S-8bQ2NMN48T5mdWu3yL_JrqjQi5pOzsaJcUPJn6JXeuJlkvMaLyRbathtxD_-HTc8KpZHD8yVWfBgW22Y_fGXd-XijkFpc8yHvOPAB29udZadmiNqgdSc1c1PcTp02CQ-TbTQ//" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="158" data-original-width="647" height="156" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq0vt5S-8bQ2NMN48T5mdWu3yL_JrqjQi5pOzsaJcUPJn6JXeuJlkvMaLyRbathtxD_-HTc8KpZHD8yVWfBgW22Y_fGXd-XijkFpc8yHvOPAB29udZadmiNqgdSc1c1PcTp02CQ-TbTQ/w640-h156/image.png" width="640" /></a></div><br /></div></div><div style="text-align: left;"><ul style="text-align: left;"><li>Ahora cerramos el CMD y volvemos a abrir como administrador y ponemos el comando que tomamos de la pagina de Pygame</li></ul></div><div style="text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4jYczTBqAF3uJb0KKAnLpq56923fS1SMwELht0Lwya7Tx9bjIKyr-B9bOK2D9v4xTMzi7xaFowA4ikTAfivdfX7TCOM0Lrn67GgC9BJhcFqATRG4YHphKqQA83Zmh2U1GFANuBIUizA//" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="135" data-original-width="647" height="134" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4jYczTBqAF3uJb0KKAnLpq56923fS1SMwELht0Lwya7Tx9bjIKyr-B9bOK2D9v4xTMzi7xaFowA4ikTAfivdfX7TCOM0Lrn67GgC9BJhcFqATRG4YHphKqQA83Zmh2U1GFANuBIUizA/w640-h134/image.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;"><ul style="text-align: left;"><li>Si tenemos bien instalado Python deberían obtener algo así:</li></ul></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeBxMfw1BCc3fd5rq7E5gXsx4stzZNaHTMSUVl_cUwZal63x8KhXE4Fq82Or-dhCWcWF0FPqLAqHk7kkM_Qm7cu32baZJ5zUyrUiee7BSs9ulXQi7g92R7l8tvB-ysiR0e6SSwiNowoQ//" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="190" data-original-width="645" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeBxMfw1BCc3fd5rq7E5gXsx4stzZNaHTMSUVl_cUwZal63x8KhXE4Fq82Or-dhCWcWF0FPqLAqHk7kkM_Qm7cu32baZJ5zUyrUiee7BSs9ulXQi7g92R7l8tvB-ysiR0e6SSwiNowoQ/w640-h188/image.png" width="640" /></a></div><br /><br /></div>Eso quiere decir que se instalo satisfactoriamente Pygame 2.0 pero si quieren comprobarlo vamos a abrir una aplicación que viene con Python 2.8.9, el IDLE que viene por defecto, la pueden encontrar en inicio>todos los programas>python>IDLE. </div><div style="text-align: left;"><br /></div><div style="text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj00-sXjTR_WE9tCNSzkGihslgrDG8DCG6G3MmmIGjtoEjXD9tcDHV7QpgEXcx9tPuPJ5wEsmX-OlZuPuhH8s2z9l2i9x_De4BU7XXI0sX7Cn2dx4eAU7W3dhUwi7RH4lZJYy2MGJDlQw//" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="126" data-original-width="662" height="122" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj00-sXjTR_WE9tCNSzkGihslgrDG8DCG6G3MmmIGjtoEjXD9tcDHV7QpgEXcx9tPuPJ5wEsmX-OlZuPuhH8s2z9l2i9x_De4BU7XXI0sX7Cn2dx4eAU7W3dhUwi7RH4lZJYy2MGJDlQw/w640-h122/image.png" width="640" /></a></div><ul style="text-align: left;"><li>Vamos a poner el siguiente comando "import pygame", al ejecutarlo nos debería salir lo siguiente:</li></ul></div><div style="text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb8qqAkpzWTWh9rn0cI6mJdMfDEW4VfpJcDy4ioHR_xOvhm6sTOTtGGT4tiIPMToydJ0af9t5MriDr6rxVImRJp8bCcQVPGUM-1289hyjAWiXQhBcpjm0btBL_Rv1yVJdk4aMUsHogkw//" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="164" data-original-width="656" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb8qqAkpzWTWh9rn0cI6mJdMfDEW4VfpJcDy4ioHR_xOvhm6sTOTtGGT4tiIPMToydJ0af9t5MriDr6rxVImRJp8bCcQVPGUM-1289hyjAWiXQhBcpjm0btBL_Rv1yVJdk4aMUsHogkw/w640-h160/image.png" width="640" /></a></div><br />Si no te sale error y te aparece un resultado parecido ya la hiciste, sino tendrás que repasar los pasos anteriores.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">No detallo mucho el proceso de instalación ya que hay mucha información en la web de como hacer detalladamente cada paso, solo doy una guía básica para poder avanzar de manera rápida, si sientes que esta muy complicado o ya intentaste mucho, no tienes buenos resultados, no dudes en preguntar, al final del post puedes comentar.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">Sino entiendes algunas palabras te recomiendo que busques en la web o visita el siguiente <a href="https://softwarezlive.blogspot.com/p/glosario-del-programador.html">link</a> donde encontraras un glosario básico.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">Ya tienes lo básico para comenzar, si crees que puede servir a alguien esta información no dudes en compartirlo o si me quieres apoyar me ayudaría que compartieras en tus redes sociales.</div><div style="text-align: center;"><b><br /></b></div><div><br /></div><div><br /><div style="text-align: right;"><a href="https://softwarezlive.blogspot.com/2021/04/tutorial-python-2-tipos-de-datos-y.html"> Tutorial Python #2 Tipos de datos y primer excursión ></a></div><div><br /></div><div><br /></div></div>Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com1tag:blogger.com,1999:blog-3799337093322751324.post-50067410329027098172013-04-21T14:11:00.001-07:002013-04-21T14:13:00.438-07:00Software Libre<div class="separator" style="clear: both; text-align: center;">
<a href="http://techkhabaren.files.wordpress.com/2012/07/linux.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://techkhabaren.files.wordpress.com/2012/07/linux.png" height="320" id="image_nmike" width="226" /></a></div>
<h2>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Hola a todos, les he quedado muy mal, lo se, y espero reponerme en vacaciones por lo pronto les dejo un documento en PDF que me parece interesante, es importante conocer conceptos como los que este documento contiene. Sin mas aquí les dejo el link del PDF.</div>
</h2>
<br />
<a href="https://docs.google.com/file/d/0B2keXleo9LgwTzR0OW13V1NMLVE/edit?usp=sharing" target="_blank">Software Libre PDF</a><br />
<br />
<h4>
Si les ah gustado no olviden dejar un +1 Hasta luego.</h4>
Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-42844650930675997652013-03-03T14:27:00.002-08:002013-03-13T21:52:14.155-07:00Biblioteca Python<h2>
Bien en esta vez les dejo unos links a unos tutoriales en PDF de distintos autores, espero les sirvan y aya alguno que no tengan, la mayoría son fáciles de encontrar en la red.</h2>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtIlXHcJYR4QSDLkXTi7_wN-IDAdNyNf8NtAWFBig0XTGhbRSwmotvlfQDWtHEAVgnKiZElElazDpgBYejZYdeQqKNDYQ3_De8aUN1HBA2DV-s3fPufXBNrk5RHdqQSQ_694OoFyBaYg/s1600/python.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtIlXHcJYR4QSDLkXTi7_wN-IDAdNyNf8NtAWFBig0XTGhbRSwmotvlfQDWtHEAVgnKiZElElazDpgBYejZYdeQqKNDYQ3_De8aUN1HBA2DV-s3fPufXBNrk5RHdqQSQ_694OoFyBaYg/s1600/python.png" height="187" id="image_nmike" width="400" /></a></div>
<br />
<a name='more'></a><br />
<br />
<div style="text-align: right;">
Aprender a programar con Python: una experiencia docente <a href="https://mega.co.nz/#!mhACAYgQ!NogaRRXrZLNKjwon9NhaUE-GTdM3r8cPAQyBvNVLbrI (251 KB)" target="_blank">Descargar</a></div>
<div class="separator" style="clear: both; text-align: right;">
<br /></div>
<div style="text-align: right;">
De 0 a Python <a href="https://mega.co.nz/#!OtgAULTK!btWOvguCKgLCr-Q-7rEXWme_oGAW72g4qUufkJfQVUI (1.3 MB)" target="_blank">Descargar</a></div>
<div style="text-align: right;">
<br /></div>
<div style="text-align: right;">
Python para todos <a href="https://mega.co.nz/#!elQDmaZA!boWtd1VOtd5Jc10KVj6T7XAro3QTIjHTD0-6WWUs4PU (1.2 MB)" target="_blank">Descargar</a></div>
<div style="text-align: right;">
<br /></div>
<div style="text-align: right;">
Python no muerde <a href="https://mega.co.nz/#!u8I3EJDB!I_S380EqhTN4QWmuowrDOmFzJWVlk3HyeuAUWuDwaz0 (6.7 MB)" target="_blank">Descargar</a></div>
<div style="text-align: right;">
<br /></div>
<div style="text-align: right;">
Doma de serpientes para niños (versión windows) <a href="https://mega.co.nz/#!iwYSgJTS!ey41uVso_qOsTp3TpDdXxA4afQV9dRtmtti-PppEea4 (1.4 MB)" target="_blank">Descargar</a></div>
<div style="text-align: right;">
<br /></div>
<div style="text-align: right;">
Aprenda a Pensar Como un Programador "Con Python" <a href="https://mega.co.nz/#!WpYHBLZZ!AAwEUAUIcP-NxiGGHrtH2nQs-HMsbqCG5USTGSu4rSA (940 KB)" target="_blank">Descargar</a></div>
<div style="text-align: right;">
<br /></div>
<div style="text-align: right;">
Guía de aprendizaje de Python <a href="https://mega.co.nz/#!C9plnBBL!Lr-tmhsuFt_0nbWdJkfAtFgMDgFmMeQ_rJLztQJ4Wrg (216 KB)" target="_blank">Descargar</a></div>
<div style="text-align: right;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<h4>
Disfrútenlos, el próximo tutorial ya esta cerca... </h4>
</div>
<br />
<br />Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com1tag:blogger.com,1999:blog-3799337093322751324.post-12279726910211080402013-01-23T20:06:00.002-08:002013-03-01T10:54:56.158-08:00Tutorial Hawk 12 -Clases Parte 2<h2>
Hola a todos, en el tutorial anterior vimos algunos ejemplos de clases, esta ocasión haré la extensión de clases en Python.</h2>
<div>
<br /></div>
<div>
Enseguida les pondré el código del juego creado en el tutorial 10 y pues como es de esperarse esta vez esta implementado con clases.</div>
<div>
<br /></div>
<div>
Lo dejare completo y al final lo explicare linea por linea.</div>
<div>
<br />
<a name='more'></a><br /></div>
<div>
<br /></div>
<div>
--------------------------------------------------------------------------------------------------------------------</div>
<div>
<pre class="brush: python">class Jugador():
def __init__(self):
self.puntos=0
self.tema="ninguno"
def captura_nombre(self,personaje):
while True:
self.nombre = raw_input()#Campturamos el nombre
if self.nombre != "":
break
print "Introduce tu nombre por favor"
print personaje.nombre,":\nMucho gusto",self.nombre, "hoy es un buen dia :D"
def elige_tema(self,personaje):
print "\nHablar de : \n1)Música 2)Comedia 3)Baile 4)Comida 5)Coqueteo 6)Autos 7)Computación"
self.tema= raw_input()#Campuramos la respuesta
personaje.dialogos(self)
def puntuacion(self,personaje):
print " "
#En base a los puntos obtenidos muestra un mensaje final mas que claro xD
if self.puntos >= 20:
print personaje.nombre,":\nEres muy agradable, hay que salir luego, este es mi Google+"
elif self.puntos >=10:
print personaje.nombre,":\nMe caíste bien, adiós",self.nombre
elif self.puntos >= 5:
print personaje.nombre,":\nAdiós", self.nombre
elif self.puntos >= 0:
print personaje.nombre,":\nAdiós"
elif self.puntos < 0:
print personaje.nombre,":\nEres todo un idiota no se como me tope contigo"
class Personajes():
def __init__(self,nombre,gustos):
self.nombre=nombre
self.gustos=gustos
self.cara = {"Feliz": ":-)", "Triste": ":-(", "Sonriente": ":-D", "Sorprendido": ":-O","Lengua":":-P"}
def dialogos(self,jugador):
if int(jugador.tema) == 1:
print self.nombre,":\nSi ami también me encanta la música sobre todo la de ProngonStons", self.cara["Feliz"]
jugador.puntos+= self.gustos["Música"]#sumamos los puntos
jugador.tema= "ninguno"#reseteamos los gustos
elif int(jugador.tema) == 2:
print self.nombre,":\nHey que buen chiste, ¿de donde lo sacaste? ",self.cara["Lengua"]
jugador.puntos += self.gustos["Comedia"]#sumamos los puntos
jugador.tema= "ninguno"#reseteamos los gustos
elif int(jugador.tema) == 3:
print self.nombre,":\n...este pues si bailo pero casi nada, ocupo andar entonada...",self.cara["Triste"]
jugador.puntos += self.gustos["Comedia"]#sumamos los puntos
jugador.tema= "ninguno"#reseteamos los gustos
elif int(jugador.tema) == 4:
print self.nombre,":\nSi, ese restaurante esta de lujo, y el servicio es muy bueno, sin duda iría todos los días",self.cara["Feliz"]
jugador.puntos+= self.gustos["Comida"]#sumamos los puntos
jugador.tema= "ninguno"#reseteamos los gustos
elif int(jugador.tema) == 5:
print self.nombre,":\nPero que te pasa imbecil? Osea, apenas me conoces... IDIOTA!",self.cara["Sorprendido"]
jugador.puntos+= self.gustos["Coqueteo"]#sumamos los puntos
jugador.tema= "ninguno"#reseteamos los gustos
elif int(jugador.tema) == 6:
print self.nombre,":\nPues si tu lo dices... (pinche carro mugroso) si, esta bonito...",self.cara["Triste"]
jugador.puntos += self.gustos["Autos"]#sumamos los puntos
jugador.tema= "ninguno"#reseteamos los gustos
elif int(jugador.tema) == 7:
print self.nombre,":\nMe encanta la computación, soy programadora en Python",self.cara["Sonriente"]
jugador.puntos+= self.gustos["Computación"]#sumamos los puntos
jugador.tema= "ninguno"#reseteamos los gustos
def saludar(self):
print "Hola mi nombre es",self.nombre, "¿Cual es tu nombre?"
#===============================================================================
# main
#===============================================================================
def main():
gustos_andrea= {"Música": 5, "Comedia": 3, "Baile":-2, "Comida": 1, "Coqueteo":-10, "Autos": -2, "Computación": 10}
andrea= Personajes("Andrea",gustos_andrea)
andrea.saludar()
jugador1=Jugador()
jugador1.captura_nombre(andrea)
for i in range(2):
jugador1.elige_tema(andrea)
jugador1.puntuacion(andrea)
return 0
main()
</pre>
</div>
<div>
--------------------------------------------------------------------------------------------------------------------</div>
<div>
<br /></div>
<div>
Nuestro programa comienza en la linea 102, en esta linea hacemos una llamada a la función main.</div>
<div>
<br /></div>
<div>
</div>
<div>
En la función main() linea 83 contiene:</div>
<div>
<ul>
<li> la linea 85 creamos un diccionario llamado gustos_andrea.</li>
</ul>
<ul>
<li>en la linea 86 creamos un objeto del tipo Personaje, y le enviamos como parámetros el nombre del personaje y sus gustos</li>
</ul>
<ul>
<li>en la linea 90 llamamos el método saludar de la clase personaje, como podemos ver, la forma de acceder a los métodos de un objeto es con el nombre del objeto seguido de un punto y luego el nombre del método al que queremos acceder.</li>
</ul>
<ul>
<li>en la linea 92 creamos un objeto del tipo Jugador y en esta ocasión no se le envían parámetros a la clase.</li>
</ul>
<ul>
<li>En la lineas 93 accedemos al método capturar_nombre() del objeto jugador1 y le enviamos como parámetro el objeto andrea.</li>
</ul>
<ul>
<li>En la linea 95 tenemos un ciclo for de dos iteraciones.</li>
</ul>
<ul>
<li>En la linea 96 encontramos la llamada a un método del objeto jugador1 y le mandamos como parámetro el objeto con el cual habrá interacción (andrea).</li>
</ul>
<ul>
<li>En la linea 98 mandamos llamar el método puntuacion() del objeto jugador1 y le mandamos como parámetro el objeto con el que se realizo la interacción.</li>
</ul>
<div>
Bien ahora hablemos de las clases creadas y sus métodos.</div>
</div>
<div>
<br /></div>
<div>
En la linea 1 tenemos la clase Jugador y contiene 4 métodos:</div>
<div>
<br /></div>
<div>
<ul>
<li>El primer método es el constructor el cual contiene dos variables propias del objeto, puntos y tema, a estas solo podemos acceder con el nombre o dirección del objeto, y las identificamos porque siempre comienzan con self seguido de un punto y luego el nombre de la variable.</li>
</ul>
<ul>
<li>En el método 2 de la linea 6 tenemos el código para capturar el nombre, esta clase recibe como parámetro al personaje con el que estamos interactuando, en este método creamos una nueva variable de clase llamada nombre.</li>
</ul>
<ul>
<li>Después tenemos el método elige_tema() de la linea 14, en la linea 17 tenemos la llamada al método diálogos del objeto personaje y le enviamos como parámetro al objeto en si y para eso como parámetro solo le mandamos self. (esta es nuestra primer interacción entre métodos)</li>
</ul>
<ul>
<li> En el método de la linea 19 tenemos el análisis de la puntuación este método solo recibimos como parámetro el objeto personaje.</li>
</ul>
<div>
En la linea 34 tenemos la siguiente clase que se en llama Personajes() esta clase solo cuenta con dos métodos.</div>
</div>
<div>
<br /></div>
<div>
<ul>
<li>Método constructor en la linea 35, este método contiene tres variables de clase, nombre, gustos y cara y recibe como parámetros el nombre del personaje y sus gustos.</li>
</ul>
<ul>
<li>En la linea 41 tenemos el ultimo método dialogos(), este método solo contiene los posibles diálogos a mostrar en la ejecución y recibe como parámetro el jugador.</li>
</ul>
<div>
<br /></div>
<div>
<br /></div>
</div>
<h2>
Bien por hoy es todo, espero que les aya servido, si así fue no olviden dejar su +1 hasta la próxima.</h2>
Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-30925395173557644052013-01-21T15:43:00.001-08:002013-03-01T10:40:27.402-08:00Tutorial 11 -Clases Parte 1<h2>
Hola a todos en este tutorial adentrare en la programación orientada a objetos, tal vez este tutorial se un poco largo pero solo lo necesario.</h2>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdkVBedza797Q3Ft6UCHqIJ5FFD7EcBUx2aZTt4aN6SejULspEygrd0MYbmxH4xO18jJEi9YfgMVq5CgxbPk-O0Hzq3EfmKcCo_UpuSsArM2pm4VT0EOz9IPMZp6FSE-OzYs0q0CA9SQ/s1600/LogoTutorialesHawk.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdkVBedza797Q3Ft6UCHqIJ5FFD7EcBUx2aZTt4aN6SejULspEygrd0MYbmxH4xO18jJEi9YfgMVq5CgxbPk-O0Hzq3EfmKcCo_UpuSsArM2pm4VT0EOz9IPMZp6FSE-OzYs0q0CA9SQ/s1600/LogoTutorialesHawk.png" id="image_nmike" /></a></div>
<div>
<br />
<br />
<div style="text-align: justify;">
Bien, antes de meterme en materia directa mente, creo que seria bueno tratar de dejar en claro que es una <b>clase</b> y que es un <b>objeto</b>, pues si no se comprende bien esto, es difícil comprender las capacidades y bondades de la programación orientada a objetos.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Un objeto cualquiera y no solo en programación tiene ciertas características por poner un ejemplo hablemos de una lata, la lata tiene una altura, un volumen, peso, color, un radio, etc., todas estas características representan a un objeto. En programación es totalmente igual, los objetos los representamos con atributos.</div>
<div style="text-align: justify;">
</div>
<a name='more'></a><br />
<br />
<div style="text-align: justify;">
Ahora en cambio una clase la podemos ver como una fábrica que se dedica a crear objetos, continuando con el ejemplo de la lata; la fábrica ya tiene las características de la lata y crea tantos objetos como se le pidan. Pero además las clases contienen métodos que no son mas que funciones, estos métodos son las acciones que pueden hacer dichos objetos; cambiemos nuestro ejemplo a un automóvil:</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ1l6KJ9XVh7TDjxCYoCpY9MsdlV_geSvbEQccLITn09_-h7LUMwnaZp263lS7uWbz2htjecRwQ_AsHY_zGiOy1JAovuApkWPM7WH9Waa0PQhK1fb9sdX50mIxxQ-850uqDSL3u8QIVw/s1600/clase_auto.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ1l6KJ9XVh7TDjxCYoCpY9MsdlV_geSvbEQccLITn09_-h7LUMwnaZp263lS7uWbz2htjecRwQ_AsHY_zGiOy1JAovuApkWPM7WH9Waa0PQhK1fb9sdX50mIxxQ-850uqDSL3u8QIVw/s1600/clase_auto.png" id="image_nmike" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
En la parte de arriba de la imagen tenemos el nombre de la clase<br />
<br />
Enseguida tenemos los atributos de nuestra clase, y pues claro que no son los únicos atributos de un carro pero con esos basta para poner un ejemplo.<br />
<br />
<br />
Y por ultimo tenemos los métodos y/o acciones que puede realizar un automóvil o que podemos aplicar a el. Un automóvil avanza, lo podemos pintar, se puede ponchar una llanta, y obviamente debemos recargarlo con gasolina para que ande.<br />
<br />
Pero como sabemos, los carros pueden ser iguales y todos tienen atributos parecidos o sirven para cosas similares pero no todos los objetos embonan exactamente, miremoslo así, un pick-up es un automóvil pero tiene características que lo hacen único, aunque sirve práctica mente para lo mismo.<br />
<br /></div>
<div style="text-align: justify;">
Aquí es donde entra un concepto en programación muy utilizado y es la <b>herencia</b>, la herencia no es nada mas que eso, por ejemplo: Tenemos una nueva clase llamada Pick-Up esta clase hereda de automóvil todos sus atributos y todos sus métodos pero además adhiere un método que es: <b>Carga</b> refiriéndome a que puede cargar cosas como cemento u otras cosas pesadas.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk15VxpHkqx-Ede72nSv3VvsXE-H-M2piO3r7Eo5hltrN0Rqwr3Udi7Y7gfhQdvgV7o212bzj1TeLfJ2UDwLrzTmYvEh99aGRz1IxUgBYO2vIruk_X3VPcZrcEE_vxqgmzuimTzgVquQ/s1600/pick-up.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk15VxpHkqx-Ede72nSv3VvsXE-H-M2piO3r7Eo5hltrN0Rqwr3Udi7Y7gfhQdvgV7o212bzj1TeLfJ2UDwLrzTmYvEh99aGRz1IxUgBYO2vIruk_X3VPcZrcEE_vxqgmzuimTzgVquQ/s1600/pick-up.png" id="image_nmike" /></a></div>
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div>
En otras palabras la clase Pick-Up quedaría así:<br />
<br />
<span style="font-size: large;">Pick-Up</span><br />
<br />
Llantas<br />
Gasolina<br />
Posicion<br />
Color<br />
<br />
<b>Avanza</b><br />
<b>Pintar</b><br />
<b>Ponchar</b><br />
<b>Recargar</b><br />
<b>Carga</b><br />
<b><br /></b>
Pick-Up adquiere todo de Automóvil tanto métodos como atributos y además el método propio de Pick-Up.</div>
</div>
<div>
<br /></div>
<div>
Para ampliar este ejemplo pondré un árbol de diferentes automóviles en donde todos heredan de <b>Automovil</b>:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4zTu6rv6Uiu76JaRaQaWhVmMUzFyX8YKdt6o6KvdVQ9YOuI_c4nldjQcDY4YqgaoO8BofWpXvMesdr17zbCF4ZCIrGTjLm3SxZah3Nir-fqACmMeXp4_zfkm6YfEGhSRYlhHNAngPow/s1600/ejemploerencia.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4zTu6rv6Uiu76JaRaQaWhVmMUzFyX8YKdt6o6KvdVQ9YOuI_c4nldjQcDY4YqgaoO8BofWpXvMesdr17zbCF4ZCIrGTjLm3SxZah3Nir-fqACmMeXp4_zfkm6YfEGhSRYlhHNAngPow/s1600/ejemploerencia.png" height="480" id="image_nmike" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
Esto de la herencia en programación orientada a objetos es algo muy importante y hay que saberla manejar y también aprovechar, ahora para que quede tal vez un poco mas claro pasemos a definir una clase en Python:</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
En Python para definir o crear una nueva clase se utiliza la palabra reservada <b>class </b>seguido del nombre que pondremos a la clase, algo muy importante que no hay que olvidar, los nombres de las clases deben empezar con una letra mayúscula, pero claro que pueden empezar por minúscula la mayúscula se utiliza solo para identificar fácilmente las clases. </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Todas las clases deben contener un método constructor, este método es el que contiene todos los atributos del objeto en si.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Ejemplo:</div>
<div class="separator" style="clear: both; text-align: left;">
--------------------------------------------------------------------------------------------------------------------</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<b></b><br />
<pre class="brush: python">class Automovil():
def __init_(self,x,y):
self.llantas ="Bien"
self.gasolina=10
self.color="Azul"
self.posicion=(x,y)
def avanza(self):
self.posicion+=(1,0)
def pintar(self):
self.color="Rojo"
def ponchar(self):
self.llantas="Ponchadas"
def recargar(self):
self.gasolina+=10</pre>
<div class="separator" style="clear: both; text-align: left;">
--------------------------------------------------------------------------------------------------------------------</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
En la linea 1 declaramos la clase Automovil, en este caso no hereda de ninguna otra clase.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: justify;">
En la linea 2 creamos nuestro método constructor, el cual inicializa nuestros objetos, al momento de crear un nuevo objeto se le asignan los atributos ahí contenidos, y muy importante, para que Python reconozca este método como el constructor siempre debe llamarse "__init__" sino Python no podrá reconocerlo.</div>
<div class="separator" style="clear: both; text-align: justify;">
</div>
<div class="separator" style="clear: both; text-align: justify;">
Como ven, el método constructor y todos los demás métodos reciben un parámetro en común "self" este parámetro siempre debe ser el primero el cual sirve para referirnos a los atributos contenidos en nuestro constructor.</div>
<div class="separator" style="clear: both; text-align: justify;">
</div>
<div class="separator" style="clear: both; text-align: justify;">
En Python es tan sencillo crear un objeto como crear una variable, veamos como creamos un objeto por medio de la clase Automovil:</div>
<div class="separator" style="clear: both; text-align: justify;">
</div>
<div class="separator" style="clear: both; text-align: justify;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both;">
--------------------------------------------------------------------------------------------------------------------</div>
<div class="separator" style="clear: both;">
</div>
<br /><pre class="brush: python">class Automovil(): <br /> def __init_(self,x,y): <br /> self.llantas ="Bien" <br /> self.gasolina=10 <br /> self.color="Azul" <br /> self.posicion=(x,y) <br /> <br /> def avanza(self): <br /> self.posicion+=(1,0) <br /> <br /> def pintar(self): <br /> self.color="Rojo" <br /> <br /> def ponchar(self): <br /> self.llantas="Ponchadas" <br /> <br /> def recargar(self): <br /> self.gasolina+=10 <br /> <br /> <br />carro = Automovil(10,10)</pre><div class="separator" style="clear: both;">
--------------------------------------------------------------------------------------------------------------------</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
Lo único distinto en este código es la linea 21 en donde creamos un objeto del tipo Automovil y le mandamos los parámetros de posición (x,y)</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
Bien, ya con esto hemos creado un objeto en Python. :)</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
Esto de los objetos no es fácil de entenderlo de buenas a primeras si eres un principiante en programación, y entender e identificar que es una clase y que es un objeto es algo complicado, no digo que para todos pero en general así es, así que si no comprendiste ni jota no te preocupes, seguiré publicando mas sobre este tema y abarcare aun mas como el polimorfismo y encapsulamiento.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
Ya por ultimo modificare el juego del tutorial pasado en donde usare todo lo visto hasta ahora y un poco mas, pero lo explicare paso a paso para que no se pierdan y puedan entender un poco mas esto de la programación orientada a objetos.</div>
<div>
</div>Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-86836708120823336632013-01-18T18:48:00.003-08:002013-01-18T18:48:54.292-08:00Generador de nombres en Python 2.7<h2>
Hola a todos, hoy les traigo un sencillo generador de nombres creado en Python 2.7</h2>
<div>
<br /></div>
<div>
No esperen tanto de este generador pues es algo sencillo y se ejecuta en consola, es fácil de modificar, es totalmente hecho por mi, hace mucho cuando usaba RPG Maker VX conseguí un generador de nombres, entonces se me hacia algo súper genial, pero veo que no es tanto, es algo muy fácil de hacer. </div>
<div>
<br /></div>
<div>
La verdad un programa como este súper bien porque han de admitir que cuando pensamos el nombre para algo nos quita demasiado tiempo, principalmente yo lo uso para mis video-juegos, así fácilmente pongo nombres a mis personajes sin quebrarme la cabeza y ademas originales.</div>
<div>
<br /></div>
<h2>
Ojala les sirva y no olviden dejar un +1 y se los juro que estaré muy agradecido, qui abajo les dejo la descarga.</h2>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><span style="margin-left: auto; margin-right: auto;"><a href="http://www.mediafire.com/download.php?azv10nfna121jxa" target="_blank"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZaLuhq6NJK2MgyvYibcYvFxrtZQCz9-GWQUwcbgpM-_MtDzTfAGADoqih165GplZ6CEvfokokqbgEH7N08Xv6HfjPWTKxpuENBSKR17gJK1YzL4TIM7xvZY0NT_9RzRbmqG22ilS9-A/s1600/descargas.png" /></a></span></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><a href="http://www.mediafire.com/download.php?azv10nfna121jxa" target="_blank">Generador de nombres 1.0</a></td></tr>
</tbody></table>
<div>
<br /></div>
Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-51182527325253694902013-01-18T16:01:00.000-08:002013-03-03T15:22:15.063-08:00Tutorial Hawk 10 -Funciones<h2>
Hola a todos, en este nuevo tutorial hablare sobre las funciones, su sintaxis, y como es que nos sirven y ayudan.</h2>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdkVBedza797Q3Ft6UCHqIJ5FFD7EcBUx2aZTt4aN6SejULspEygrd0MYbmxH4xO18jJEi9YfgMVq5CgxbPk-O0Hzq3EfmKcCo_UpuSsArM2pm4VT0EOz9IPMZp6FSE-OzYs0q0CA9SQ/s1600/LogoTutorialesHawk.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdkVBedza797Q3Ft6UCHqIJ5FFD7EcBUx2aZTt4aN6SejULspEygrd0MYbmxH4xO18jJEi9YfgMVq5CgxbPk-O0Hzq3EfmKcCo_UpuSsArM2pm4VT0EOz9IPMZp6FSE-OzYs0q0CA9SQ/s1600/LogoTutorialesHawk.png" id="image_nmike" /></a></div>
<div style="text-align: justify;">
Una función en programación no es mas que lineas de código ligadas a un nombre, y cada vez que "llamamos" a dicha función realiza las lineas de código contenidas.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
En Python todas las funciones regresan un valor, ya sea numérico carácter Booleano etc. pero en general si a una función en Python no se le indica que valor regresar nos regresa aun así un valor que es None.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
La sintaxis es muy sencilla pero al principio les podrá parecer un poco difícil pues es complicado para algunos adaptarse a ciertos conceptos (Lo digo por experiencia xD), bien pues para empezar a crear una función la debemos definir:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>def:</b> esta palabra reservada es el indicador de una nueva función</div>
<div style="text-align: justify;">
<a name='more'></a><br /></div>
<div style="text-align: justify;">
def <b>nombre_de_la_funcion</b>(<span style="color: #6aa84f;">"Aquí van los parámetros que recibe la función sino recibe nada solo se deja vacio"</span>):</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Ahora les mostrare un ejemplo de una función que no recibe parámetros:</div>
<div style="text-align: justify;">
-----------------------------------------------------------------------------------------------------------------------</div>
<pre class="brush: python">def mi_funcion():
print "Hola Mundo"</pre>
<div style="text-align: justify;">
-----------------------------------------------------------------------------------------------------------------------</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Si guardan esta función en un archivo y corren el archivo verán que no hace absolutamente nada, pues para que dicha función se ejecute tenemos que llamarla, y en Python en muy sencillo, con el nombre de la función seguida de paréntesis, los paréntesis son necesarios para cuando tenemos que enviarle parámetros o valores a la función pero aun cuando la función no recibe parámetros debemos ponerle paréntesis para indicarle a Python que estamos llamando a una función.</div>
<div style="text-align: justify;">
<br /></div>
<div>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
<pre class="brush: python">def mi_funcion():
print "Hola Mundo"
mi_funcion()</pre>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
</div>
<div style="text-align: justify;">
En la linea 3 estamos llamando a la función "mi_funcion" y ahora si, si corremos el programa con esta nueva modificación nos deberá imprimir "Hola Mundo".</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Las funciones las podemos llamar las veces que las ocupemos, y pues como los ciclos también las ventaja es que nos ahorran muchas lineas de código pero mejor aun podemos hacer modelos o estructuras de datos mas versátiles.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Bien ahora les mostrare una funcion que si recibe parametros:</div>
<div style="text-align: justify;">
<br /></div>
<div>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
<pre class="brush: python">def suma(x,y):
resultado=x+y
print resultado
suma()</pre>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
<div>
<br /></div>
<div>
En este caso la función "suma" recibe dos parámetros por tanto si corremos nuestro programa tal cual esta nos marcara un error, pues estamos llamando a la función pero no le estamos mandando parámetros.</div>
<div>
<br /></div>
<div>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
<pre class="brush: python">def suma(x,y):
resultado=x+y
print resultado
numero1=2
numero2=5
suma(numero1, numero2)</pre>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
</div>
<div>
<br /></div>
<div>
Ahora en este código al correrlo nos mostrara 7, pues es la suma de 5+2 pero hay que tener en cuenta algunas cosas en este código, en la linea 6 estamos llamando a la función suma y le estamos mandando las variables numero1 y numero2 así que el valor que contengan dichas variables sera lo que estaremos enviando a la función, <b>muy importante el orden</b>, numero1 caerá en "x" y numero2 caerá en "y" en el caso de la suma no afectaría pero si en el caso de una resta o una división por eso hay que tener mucho cuidado.</div>
<div>
<br /></div>
<div>
<b>Entonces falta el ejemplo de una función que regresa un valor:</b></div>
<div>
<br /></div>
<div>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
<br />
<pre class="brush: python">def suma(x,y):
resultado=x+y
return resultado
numero1=2
numero2=5
resultado = suma(numero1, numero2)
print resultado</pre>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
</div>
<div>
<br /></div>
<div>
Bien como ven casi no hay cambios, pero hay algo nuevo sin duda, en la linea 3 esta una palabra reservada de Python que indica el valor que va a regresar en nuestro caso regresa "<b>resultado</b>", cuando una función regresa algo por medio del <b><span style="font-size: large;">return</span></b> tenemos que guardar ese valor en algún lado por lo que tenemos que crear una variable mas en nuestro código a la cual le asignamos la llamada a la función <b>suma</b>, <b><span style="font-size: large;">OJO </span></b>la variable "<b>resultado</b>" de la función no es la misma que esta fuera de nuestra función.</div>
<div>
<br /></div>
<div>
Una funcion puede recibir tantos parametros como necesitemos, pero puede que no tengamos idea de cuantos parametros va a recibir nuestra funcion para eso podemos realizar algo asi:</div>
<div>
<br /></div>
<div>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
<pre class="brush: python">def suma(x,y,*variable): # *variable genera una tupla de x elementos
resultado=x+y
for numero in variable:
resultado += numero
return resultado
numero1=2
numero2=5
resultado = suma(numero1, numero2,5)
print resultado</pre>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
</div>
<div>
<br /></div>
<div>
Como ven en la linea 1 definimos la función suma pero ahora recibe 2 o mas elementos, el asterisco antes de la nueva variable indica que va a crear un tupla con todos los datos adicionales que reciba la función en la linea 2 sumamos normalmente x+y pero en la linea 3 nos vemos obligados a utilizar un ciclo for para recorrer la tupla que nos crea "*variable" de ese modo podemos sumar todos los parámetros en la linea 8 llamamos a la función y le enviamos tres parámetros dos variables y un numero entero, pero bien podríamos mandarle 10 o 100 los invito a experimentar.</div>
<div>
<br /></div>
<div>
<b>Bien ahora para profundizar en el tema o mas bien para repasar lo visto hasta ahora modificare una vez mas el juego del tutorial anterior:</b></div>
<div>
<b><br /></b></div>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
<div>
<br />
<pre class="brush: python">#============================================================================== #Funciones #==============================================================================
def dialogos(temas,cara,personaje):
#mostramos las respuestas posibles:
puntos = 0 print "\nHablar de : \n1) Música 2) Comedia 3) Baile 4) Comida 5) Coqueteo 6) Autos 7) Computación"
tema= raw_input()
#Camparamos la respuesta
if int(tema) == 1:
print personaje["Nombre"],":\nSi ami también me encanta la música sobre todo la de ProngonStons",cara["Feliz"]
puntos+= personaje["Música"]#sumamos los puntos
tema= "ninguno"#reseteamos los gustos
elif int(tema) == 2:
print personaje["Nombre"],":\nHey que buen chiste, ¿de donde lo sacaste? ",cara["Lengua"]
puntos += personaje["Comedia"]#sumamos los puntos
tema= "ninguno"#reseteamos los gustos
elif int(tema) == 3:
print personaje["Nombre"],":\n...este pues si bailo pero casi nada, ocupo andar entonada...",cara["Triste"]
puntos += personaje["Comedia"]#sumamos los puntos
tema= "ninguno"#reseteamos los gustos
elif int(tema) == 4:
print personaje["Nombre"],":\nSi, ese restaurante esta de lujo, y el servicio es muy bueno, sin duda iría todos los días",cara["Feliz"]
puntos+= personaje["Comida"]#sumamos los puntos
tema= "ninguno"#reseteamos los gustos
elif int(tema) == 5: print personaje["Nombre"],":\nPero que te pasa imbecil? Osea, apenas me conoces... IDIOTA!",cara["Sorprendido"]
puntos+= personaje["Coqueteo"]#sumamos los puntos
tema= "ninguno"#reseteamos los gustos
elif int(tema) == 6: print personaje["Nombre"],":\nPues si tu lo dices... (pinche carro mugroso) si, esta bonito...",cara["Triste"]
puntos += personaje["Autos"]#sumamos los puntos
tema= "ninguno"#reseteamos los gustos
elif int(tema) == 7: print personaje["Nombre"],":\nMe encanta la computación, soy programadora en Python",cara["Sonriente"]
puntos+= personaje["Computación"]#sumamos los puntos
tema= "ninguno"#reseteamos los gustos
return puntos
def puntuacion(jugador,puntos,personaje):
print " " #En base a los puntos obtenidos muestra un mensaje final mas que claro xD
if puntos >= 20:
print personaje["Nombre"],":\nEres muy agradable, hay que salir luego, este es mi Google+"
elif puntos >=10:
print personaje["Nombre"],":\nMe caíste bien, adiós",jugador
elif puntos >= 5:
print personaje["Nombre"],":\nAdiós", jugador
elif puntos >= 0:
print personaje["Nombre"],":\nAdiós"
elif puntos < 0:
print personaje["Nombre"],":\nEres todo un idiota no se como me tope contigo"
def captura_nombre():
while True:
nombre_jugador = raw_input()#Campturamos el nombre
if nombre_jugador != "":
return nombre_jugador
break
print "Introduce tu nombre por favor"
def main():
puntos = 0
tema = "ninguno"
cara = {"Feliz": ":-)", "Triste": ":-(", "Sonriente": ":-D", "Sorprendido": ":-O","Lengua":":-P"}
andrea = {"Nombre": "Andrea","Música": 5, "Comedia": 3, "Baile":-2, "Comida": 1, "Coqueteo":-10, "Autos": -2, "Computación": 10}
print "Hola mi nombre es",andrea["Nombre"], "¿Cual es tu nombre?"
jugador = captura_nombre()
print andrea["Nombre"],":\nMucho gusto",jugador, "hoy es un buen dia :D" for i in range(2):
puntos += dialogos(tema,cara,andrea)
puntuacion(jugador,puntos,andrea)
main()</pre>
<br />
<div>
--------------------------------------------------------------------------------------------------------------------<br />
<br />
<b>Bien, esta vez explicare todo el código pues es un poco mas complejo que el anterior, y como pueden ver ahora son mas lineas de código, pero esta mucho mas entendible o eso espero xD</b></div>
</div>
<div>
<br /></div>
<div>
<br />
<ul>
<li>Comenzaremos por la linea 71, Python como tal no tiene un "main" como en C o C++ pero podemos emularlo con una función, entonces en la linea 71 creamos la función main que contendrá todas las faces de nuestro juego.</li>
</ul>
<ul>
<li>De la linea 72 a la 75 creamos las variables como en el juego anterior.</li>
</ul>
<ul>
<li>En la linea 78 solo imprimimos una cadena mas el nombre del personaje con el que estamos interactuando.</li>
</ul>
<ul>
<li>En la linea 80 creamos una variable de jugador a la cual le asignamos la función de captura_nombre() en esta función no esta nada mas que el proceso de captura del nombre, y como consecuencia regresa el nombre introducido el cual se guarda en la variable nombre del "main"</li>
</ul>
<ul>
<li>En la linea 81 solo imprimimos el nombre del personaje con el cual estamos interactuando mas un mensaje.</li>
</ul>
<ul>
<li>En la linea 83 tenemos un ciclo que ejecuta 2 veces la linea 84.</li>
</ul>
<ul>
<li>En la linea 84 tenemos la variable puntos como nuestro contador, al cual le sumamos el resultado que nos arroja la función de diálogos. La función de diálogos recibe como parámetros el tema, el diccionario que hicimos con las caras, y el personaje con el que se esta interactuando, esta función lo que nos regresa son los puntos obtenidos de las platicas realizadas.</li>
</ul>
<ul>
<li>En la linea 86 tenemos la llamada a la función puntuación la cual examina el numero de puntos obtenidos y dependiendo de ello nos arroja una cadena. Esta función recibe como parámetros el nombre del jugador, los puntos del jugador y el personaje con el que se esta interactuando y en este caso la función no nos regresa un valor para utilizarlo.</li>
</ul>
<ul>
<li>Y por ultimo tenemos en la linea 88 la llamada a nuestro "main".</li>
</ul>
</div>
<div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><span style="margin-left: auto; margin-right: auto;"><a href="http://www.mediafire.com/download.php?xpm838pw6338dk7" target="_blank"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZaLuhq6NJK2MgyvYibcYvFxrtZQCz9-GWQUwcbgpM-_MtDzTfAGADoqih165GplZ6CEvfokokqbgEH7N08Xv6HfjPWTKxpuENBSKR17gJK1YzL4TIM7xvZY0NT_9RzRbmqG22ilS9-A/s1600/descargas.png" /></a></span></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><a href="http://www.mediafire.com/download.php?xpm838pw6338dk7" target="_blank">Wissen Lovelet 0.3</a></td></tr>
</tbody></table>
<br /></div>
<h4>
</h4>
<h2>
Bueno, eso es todo por hoy, ojala que les aya gustado pues me esmere mucho en este tutorial en especifico, no olviden dejar un +1 aquí a bajito no cuesta nada, nos vemos a la próxima y sigan disfrutando de Python.</h2>
<div>
<br /></div>
<div>
<br /></div>
</div>
Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-56994516862467356962013-01-17T20:37:00.000-08:002013-01-17T21:09:24.475-08:00Tutorial Hawk 9 -Ciclos<h2>
<span style="text-align: left;">Hola de nuevo a todos, en esta ocasión el tema sera sobre los ciclos o bucles, lo importantes que son y como es que nos ahorran muchas lineas de código</span><span style="text-align: left;">.</span></h2>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEm7pkOjWU1N55WfCaceG-FeofQ1y-DmHcPjcirvjqNw_z8Vgobs2jZwcsIpEDZDTq3bRCz_lgjqR3Emi2EqcQwM_2hBxB-gi6tLGq2_gmvh1ZVCAvXG9dtpRlPRtL0qykYam1PndIJg/s1600/infinito-eternidad-simbolo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEm7pkOjWU1N55WfCaceG-FeofQ1y-DmHcPjcirvjqNw_z8Vgobs2jZwcsIpEDZDTq3bRCz_lgjqR3Emi2EqcQwM_2hBxB-gi6tLGq2_gmvh1ZVCAvXG9dtpRlPRtL0qykYam1PndIJg/s1600/infinito-eternidad-simbolo.jpg" height="300" id="image_nmike" width="640" /></a></div>
<br />
<h4>
Bien pues empecemos definiendo un ciclo en programación:</h4>
Un ciclo o bucle no es nada mas que una sentencia repite lineas de código y pues como es de esperarse repite las lineas que queramos y las veces que queramos.<br />
<br />
<a name='more'></a><h4>
Tipos de ciclos:</h4>
<br />
El ciclo While (mientras) lo utilizamos normalmente cuando no sabemos cuantas veces necesitamos que se repita nuestro código.<br />
<br />
<b>Ejemplo:</b><br />
<br />
-----------------------------------------------------------------------------------------------------------------------<br />
<br />
<ol>
<li><span style="color: #e69138;">print</span> "<span style="color: #6aa84f;">Cuanto dinero tienes?"</span></li>
<li>dinero=int(raw_input())</li>
<li><span style="color: #b45f06;"><b>while</b></span> dinero < 1000:<span style="color: #3d85c6;">#Mientras la variable <b>dinero</b> sea menor a 1000 ejecuta:</span></li>
<li> <span style="color: #e69138;">print</span> <span style="color: #6aa84f;">"Esta semana ganaste 100"</span></li>
<li> dinero+=100<span style="color: #3d85c6;">#En cada iteración del ciclo sumamos 100 a la variable <b>dinero</b></span></li>
<li><span style="color: #3d85c6;"><b>#</b>una vez que la condición del ciclo while ya no se cumple se ejecuta el código faltante.</span></li>
<li><span style="color: #3d85c6;">#eso quiere decir que cuando la variable <b>dinero</b> vale 1000 o mas se ejecutan las lineas de código restantes.</span></li>
<li><span style="color: #e69138;">print</span> <span style="color: #6aa84f;">"Bien, ya has juntado"</span>, dinero</li>
</ol>
<br />
-----------------------------------------------------------------------------------------------------------------------<br />
Como ven en este ejemplo le podemos poner la cantidad de dinero que queramos, y dependiendo de la cantidad de dinero el ciclo se repetirá tantas veces, es por eso que se utiliza el while.<br />
<br />
Si le pusiéramos de dinero 100, el ciclo se repetiría 9 veces<br />
500, el ciclo se repetiría 5 veces<br />
0, el ciclo se repetiría 10 veces<br />
10, el ciclo se repetiría 10 veces<br />
1000, el ciclo se repetirá solo una vez.<br />
<br />
<h4>
Bien pues aquí les dejo otros ejemplos sencillos de como utilizar el while.</h4>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
<br />
<ol>
<li>dinero = int(raw_input( <span style="color: #6aa84f;">"Cuando dinero tienes?")</span>)</li>
<li><span style="color: #3d85c6;">#Este es el famoso ciclo infinito</span></li>
<li><span style="color: #b45f06;"><b>while </b></span>True:<span style="color: #3d85c6;">#Mientras verdadero, esto siempre se cumple</span></li>
<li> dinero+=100</li>
<li> <span style="color: #e69138;">print</span> <span style="color: #6aa84f;">"Esta semana has ganado 100"</span></li>
<li> <span style="color: #b45f06;"><b>if </b></span>dinero >=1000:</li>
<li> <span style="color: #e69138;">break</span><span style="color: #3d85c6;">#Esta sentencia rompe el ciclo infinito</span></li>
<li><span style="color: #e69138;">print</span> <span style="color: #6aa84f;">"Bien, ya has juntado"</span>, dinero</li>
</ol>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
<div>
<br /></div>
<div>
Ahora hablemos del ciclo For, este ciclo lo usamos normalmente cuando sabemos exactamente cuantas veces ocuparemos repetir un cierto código.</div>
<div>
<br /></div>
<div>
<b>Ejemplo:</b></div>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
<div>
<span style="color: #3d85c6;">#Los números enteros del 1 al 10</span></div>
<div>
<span style="color: #b45f06;"><b>for </b></span>numero <span style="color: #b45f06;">in</span> <span style="color: #b45f06;">range</span>(10):</div>
<div>
<span style="color: #e69138;">print </span>numero+1<span style="color: #3d85c6;">#es importante sumarle 1 pues como en los indices de las listas los ciclos empiezan en cero</span></div>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
<div>
<br /></div>
<div>
En este ejemplo si es útil utilizar el ciclo for pues sabemos desde hace mucho los números del 1 al 10, sin embargo hay otra forma de utilizar el for sin indicarle numéricamente cuantas veces queremos que se repita y es la siguiente:</div>
<div>
<br /></div>
<div>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
<div>
<span style="color: #3d85c6;">#creamos una lista de números</span></div>
<div>
<!--StartFragment-->numeros = [1,2,3,4,5,6,7,8,9,10]<br />
<br />
<span style="color: #b45f06;"><b>for</b></span> numero <span style="color: #b45f06;">in</span> numeros:<span style="color: #3d85c6;">#Recorre todo el arreglo </span><br />
<span style="color: #e69138;">print</span> numero<span style="color: #3d85c6;">#imprime cada elemento del arreglo</span><!--EndFragment--></div>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Bien, pues ahora es de cada quien el como y cuando utilizarlos, y solo para aplicar un poco esto modificare el juego realizado en el tutorial anterior, y pues claro esta vez utilizare ciclos y verán como es que si ayudan y nos ahorran muchas lineas de código.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
El juego se llamara: Wissen Lovelet </div>
<div>
Version: 0.2</div>
<div>
<br /></div>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
<div>
<br />
<ol>
<li>puntos = 0</li>
<li>nombre_jugador = ""</li>
<li>tema = "ninguno"</li>
<li>cara = {"Feliz": ":-)", "Triste": ":-(", "Sonriente": ":-D", "Sorprendido": ":-O","Lengua":":-P"}</li>
<li><br /></li>
<li>andrea = {"Nombre": "Andrea","Música": 5, "Comedia": 3, "Baile":-2, "Comida": 1, "Coqueteo":-10, "Autos": -2, "Computación": 10}</li>
<li><br /></li>
<li>#==============================================================================</li>
<li>#creamos diálogos:</li>
<li>#==============================================================================</li>
<li><br /></li>
<li>print "Hola mi nombre es",andrea["Nombre"], "¿Cual es tu nombre?"</li>
<li>while True:</li>
<li>nombre_jugador = raw_input()#Campturamos el nombre</li>
<li>if nombre_jugador != "":</li>
<li>break</li>
<li>print "Introduce tu nombre por favor"</li>
<li><br /></li>
<li>print andrea["Nombre"],":\nMucho gusto",nombre_jugador, "hoy es un buen dia :D"</li>
<li><br /></li>
<li>for dialogo in range(2):</li>
<li>#mostramos las respuestas posibles:</li>
<li>print """\nHablar de :</li>
<li>1) Música 2) Comedia 3) Baile 4) Comida 5) Coqueteo 6) Autos 7) Computación"""</li>
<li>tema= raw_input()#Campuramos la respuesta</li>
<li><br /></li>
<li>if int(tema) == 1:</li>
<li>print andrea["Nombre"],":\nSi ami también me encanta la música sobre todo la de ProngonStons",cara["Feliz"]</li>
<li>puntos+= andrea["Música"]#sumamos los puntos</li>
<li>tema= "ninguno"#reseteamos los gustos</li>
<li><br /></li>
<li>elif int(tema) == 2:</li>
<li>print andrea["Nombre"],":\nHey que buen chiste, ¿de donde lo sacaste? ",cara["Lengua"]</li>
<li>puntos += andrea["Comedia"]#sumamos los puntos</li>
<li>tema= "ninguno"#reseteamos los gustos</li>
<li><br /></li>
<li>elif int(tema) == 3:</li>
<li>print andrea["Nombre"],":\n...este pues si bailo pero casi nada, ocupo andar entonada...",cara["Triste"]</li>
<li>puntos += andrea["Comedia"]#sumamos los puntos</li>
<li>tema= "ninguno"#reseteamos los gustos</li>
<li><br /></li>
<li>elif int(tema) == 4:</li>
<li>print andrea["Nombre"],":\nSi, ese restaurante esta de lujo, y el servicio es muy bueno, sin duda iría todos los días",cara["Feliz"]</li>
<li>puntos+= andrea["Comida"]#sumamos los puntos</li>
<li>tema= "ninguno"#reseteamos los gustos</li>
<li><br /></li>
<li>elif int(tema) == 5:</li>
<li>print andrea["Nombre"],":\nPero que te pasa imbecil? Osea, apenas me conoces... IDIOTA!",cara["Sorprendido"]</li>
<li>puntos+= andrea["Coqueteo"]#sumamos los puntos</li>
<li>tema= "ninguno"#reseteamos los gustos</li>
<li><br /></li>
<li>elif int(tema) == 6:</li>
<li>print andrea["Nombre"],":\nPues si tu lo dices... (pinche carro mugroso) si, esta bonito...",cara["Triste"]</li>
<li>puntos += andrea["Autos"]#sumamos los puntos</li>
<li>tema= "ninguno"#reseteamos los gustos</li>
<li><br /></li>
<li>elif int(tema) == 7:</li>
<li>print andrea["Nombre"],":\nMe encanta la computación, soy programadora en Python",cara["Sonriente"]</li>
<li>puntos+= andrea["Computación"]#sumamos los puntos</li>
<li>tema= "ninguno"#reseteamos los gustos</li>
<li>else:</li>
<li>print andrea["Nombre"],":\nTe lo pierdes..."</li>
<li><br /></li>
<li>print " "</li>
<li>#En base a los puntos obtenidos muestra un mensaje final mas que claro xD</li>
<li>if puntos >= 20:</li>
<li>print andrea["Nombre"],":\nEres muy agradable, hay que salir luego, este es mi Google+"</li>
<li>elif puntos >=10:</li>
<li>print andrea["Nombre"],":\nMe caíste bien, adiós"</li>
<li>elif puntos >= 5:</li>
<li>print andrea["Nombre"],":\nAdiós"</li>
<li>elif puntos < 5:</li>
<li>print andrea["Nombre"],":\nEres todo un idiota no se como me tope contigo"</li>
</ol>
<!--StartFragment--><br /></div>
<div>
-----------------------------------------------------------------------------------------------------------------------</div>
<div>
Como ven nos hemos ahorrado muchas lineas de código, el juego hace exactamente lo mismo que el anterior pero he implementado los ciclos.</div>
<div>
<br /></div>
<div>
(Wissen es alemán y significa conocer y Lovelet es inventado xD)</div>
<div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><span style="margin-left: auto; margin-right: auto;"><a href="http://www.mediafire.com/download.php?6jf6nuocm8kz3fu" target="_blank"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZaLuhq6NJK2MgyvYibcYvFxrtZQCz9-GWQUwcbgpM-_MtDzTfAGADoqih165GplZ6CEvfokokqbgEH7N08Xv6HfjPWTKxpuENBSKR17gJK1YzL4TIM7xvZY0NT_9RzRbmqG22ilS9-A/s1600/descargas.png" /></a></span></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><a href="http://www.mediafire.com/download.php?6jf6nuocm8kz3fu" target="_blank">Wissen Loveles 0.2</a></td></tr>
</tbody></table>
<br /></div>
<h2>
Bueno, por hoy es todo, ojala les aya servido si es así no olviden dejar su +1, cualquier duda ya saben, aquí abajo pueden comentarla . Hasta la próxima!!.</h2>
Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-29127523290470808242013-01-14T17:16:00.010-08:002021-04-23T14:09:04.986-07:00Uso de NINJA IDE <p><br />Hola a todos, me han recomendado este vídeo para conocer el editor de NINJA IDE, y pues quien habla del editor es el propio creador, espero que les guste, y no se asusten, la explicación de uso no dura las dos horas y cacho que dice ahí xD</p>
<div class="video-responsive">
<iframe src="https://www.youtube.com/embed/anHGvkmb7mU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<br />Bien Pues lo que yo eh experimentado, que me ha gustado y que en verdad me parece útil es lo siguiente:<br /> <br /><ul style="text-align: left;"><li>Flexibilidad en la edición del área de trabajo. </li><li>Auto completado. </li><li>Comentar y des-comentar una o varias lineas con Ctrl+D </li><li>Manipulación de archivos separados o un proyecto en conjunto. </li><li>No es necesario agregar la terminación .py al crear un archivo nuevo, el editor agrega la terminación por defecto. </li><li>El mismo editor tiene una terminal integrada. </li><li>Permite ver dos códigos a la vez. </li><li>Orientado totalmente para Python </li></ul><p> </p><p><a href="https://github.com/ninja-ide/ninja-ide" target="_blank">IR A LA PAGINA DE DESCARGA </a><br /></p> <br /> <br /> Bueno, para mi esos son los puntos a destacar de este IDE, en el vídeo explica como hacer todo lo anterior, y si, me lo quedo, de hoy en adelante lo usare para los nuevos tutoriales, aunque no dejare eclipse de lado. Saludos!! si te ha gustado esta información no olvides compartirla en tus redes sociales.<br /> <br />Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-90392703350485435192013-01-14T00:00:00.000-08:002013-01-14T21:58:45.557-08:00Tutorial Hawk 8 -Control de flujo<h2>
Hola a todos y Bienvenidos a un nuevo tutorial de Python, en esta ocasión hablare de la esencia de los programas: los controladores de flujo.</h2>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6ehHDdEIKbASdzToonV8XuBbNdC0T60oevyeqXj2-xsg1xkR1psE2VwVgAOr53mzk1L0wuTBJ2ji52OKT7Dqoe9ThHH_ew6e_jdRmS51EIK53-bcl6O0vYtdbj0h103KlqcdZFWzR6g/s1600/Mayorque.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6ehHDdEIKbASdzToonV8XuBbNdC0T60oevyeqXj2-xsg1xkR1psE2VwVgAOr53mzk1L0wuTBJ2ji52OKT7Dqoe9ThHH_ew6e_jdRmS51EIK53-bcl6O0vYtdbj0h103KlqcdZFWzR6g/s1600/Mayorque.png" height="400" id="image_nmike" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figura 1.0</td></tr>
</tbody></table>
<div>
<br /></div>
<div>
<span style="background-color: white; font-family: 'Droid Sans'; font-size: 12.800000190734863px; line-height: 14.399999618530273px;">¿</span>Porque me refiero a ellos como la esencia?</div>
<div>
<br />
<a name='more'></a><br /></div>
<div>
Pues gracias a ellos podemos controlar los acontecimientos o las conclusiones que deseamos obtener.</div>
<div>
<br /></div>
<div>
Aquí es donde entran los operadores Lógicos, Booleanos y Relacionales antes vistos.</div>
<div>
<br /></div>
<div>
Antes de empezar, pondré aquí los operadores que utilizaremos.</div>
<div>
<br /></div>
<div>
<ul>
<li>> #Mayor que</li>
<li>< #Menor que</li>
<li>>= #Mayor o igual que</li>
<li><= #Menor o igual que</li>
<li>!= #Diferente de</li>
<li>== #Igual que</li>
</ul>
<div>
Estos operadores regresan un resultado, y las posibilidades son las siguientes:</div>
<ul>
<li>True #Verdadero</li>
<li>False #Falso</li>
</ul>
</div>
<div>
Seguramente muchos de estos operadores ya los habrán visto antes sino no se preocupen, aquí explicare como usarlo a todos.</div>
<div>
<br />
En Python el controlador de flujo o la sentencia es un simple <b><span style="font-size: large;">if </span></b>(si) el cual verifica las condiciones que nosotros le planteemos, y con eso "decide" que hacer o que no y lo pongo entre comillas porque nosotros somos quienes manipulamos la información.<br />
<br />
Un ejemplo simple:<br />
<br />
Abrimos nuestro editor favorito, yo por hoy usare NINJA IDE, y creamor un nuevo archivo.<br />
<br />
<br />
------------------------------Tutorial_8-Condicionales.py-----------------------------------------------<br />
<br />
<br />
<ol>
<li><span style="color: #3d85c6;">#Declaramos unas variables</span></li>
<li>x=5</li>
<li>y=2</li>
<li><br /></li>
<li><span style="color: #3d85c6;">#creamos nuestra condición</span></li>
<li><br /></li>
<li><b><span style="color: #b45f06;">if </span></b>x > y: <span style="color: #3d85c6;"># si x es mayor que "y" has</span></li>
<li> <span style="color: #e69138;">print </span><span style="color: #6aa84f;">"x es mayor que y"</span></li>
<li><b><span style="color: #b45f06;">else:</span></b><span style="color: #3d85c6;"># sino has</span></li>
<li> <span style="color: #e69138;"> print </span><span style="color: #6aa84f;">"x no es mayor que y"</span></li>
<li><span style="color: #6aa84f;"> </span><span style="color: #e69138;">print</span><span style="color: #6aa84f;"> "puedes poner mas de una instrucción"</span></li>
</ol>
<br />
<br />
-----------------------------------------------------------------------------------------------------------------------<br />
<br />
Bien ahora corranlo y verán que el resultado es el esperado, obviamente x es mayor que y pero hay algo que comentar en este código:<br />
<br />
<br />
<ul>
<li>La indentación en Python es muy importante, ya que no utiliza llaves para determinar bloques de instrucciones como en C o C++. Así sea por un espacio nos causara un error, es algo que hay que tener muy en cuenta.</li>
</ul>
<ul>
<li>La sentencia <b><span style="font-size: large;">else</span></b> se traduciría como: si las condiciones no se cumplen entonces realiza esto.</li>
</ul>
<ul>
<li>El else es meramente opcional, sino se quiere poner no es necesario hacerlo.</li>
</ul>
<ul>
<li>Tanto if como else pueden contener mas de una instrucción como se muestra en el ejemplo.</li>
</ul>
<div>
<br /></div>
<div>
Veamos un ejemplo mas "complejo":</div>
<div>
<br /></div>
<div>
<br /></div>
<br />
<br />
------------------------------Tutorial_8-Condicionales.py-----------------------------------------------<br />
<br />
<br />
<ol>
<li><span style="color: #3d85c6;">#Declaramos unas variables</span></li>
<li>x=5</li>
<li>y=2</li>
<li><br /></li>
<li><span style="color: #3d85c6;">#creamos nuestra condición</span></li>
<li><br /></li>
<li><b><span style="color: #b45f06;">if </span></b>x > y: <span style="color: #3d85c6;"># si x es mayor que "y" has</span></li>
<li> <span style="color: #e69138;">print </span><span style="color: #6aa84f;">"x es mayor que y"</span></li>
<li><span style="color: #b45f06;"><b>elif </b></span>x == y:</li>
<li><span style="color: #6aa84f;"> </span><span style="color: #e69138;">print </span><span style="color: #6aa84f;">"x es igual y"</span></li>
<li><span style="color: #b45f06;"><b>elif</b></span><span style="color: #6aa84f;"> </span>x >= y:</li>
<li><span style="color: #6aa84f;"> </span><span style="color: #e69138;">print </span><span style="color: #6aa84f;">"x es mayor o igual a y"</span></li>
<li><b><span style="color: #b45f06;">elif</span></b><span style="color: #6aa84f;"> </span>x<= y:</li>
<li><span style="color: #6aa84f;"> </span><span style="color: #e69138;"> print</span><span style="color: #6aa84f;"> "x es menor o igual a y" </span></li>
<li><span style="color: #b45f06;"><b>elif </b></span>x< y:</li>
<li><span style="color: #6aa84f;"> </span><span style="color: #e69138;">print</span><span style="color: #6aa84f;"> "x es menor que y"</span></li>
<li><b><span style="color: #b45f06;">else:</span></b><span style="color: #3d85c6;"># en este caso el else no es necesario porque alguna de las cinco condiciones anteriores se cumplirán </span></li>
<li> <span style="color: #e69138;"> print </span><span style="color: #6aa84f;">"x no es mayor que y"</span></li>
<li><span style="color: #6aa84f;"> </span><span style="color: #e69138;">print</span><span style="color: #6aa84f;"> "puedes poner mas de una instrucción"</span></li>
</ol>
<br />
<br />
-----------------------------------------------------------------------------------------------------------------------<br />
<br />
<br /></div>
<div>
Como ven metí una nueva instrucción <b><span style="font-size: large;">elif </span></b>esta función es prácticamente un else, pero trabaja como el if ya que podemos darle una nueva condición, de esta forma podemos abarcar mas posibilidades.<br />
<br />
Otra forma de hacer lo mismo:<br />
<br />
Como les dije antes, los operadores relacionales arrojan valores de True o False, pues usemoslos.<br />
<br />
<br />
------------------------------Tutorial_8-Condicionales.py-----------------------------------------------<br />
<br />
<br />
<ol>
<li><span style="color: #3d85c6;">#Declaramos unas variables</span></li>
<li>x=5</li>
<li>y=2</li>
<li>resultado = x > y <span style="color: #3d85c6;">#esto nos arroja True o False</span></li>
<li><span style="color: #3d85c6;">#creamos nuestra condición</span></li>
<li><br /></li>
<li><b><span style="color: #b45f06;">if </span></b>resultado: <span style="color: #3d85c6;"># traducido es: si resultado es verdadero has</span></li>
<li> <span style="color: #e69138;">print </span><span style="color: #6aa84f;">"x es mayor que y"</span> </li>
<li><b style="color: #b45f06;">else:</b><span style="color: #3d85c6;"># sino es verdadero has</span></li>
<li><span style="color: #6aa84f;"> </span><span style="color: #e69138;">print </span><span style="color: #6aa84f;">"x no es mayor que y"</span></li>
<li><span style="color: #6aa84f;"><br /></span></li>
<li><span style="color: #3d85c6;">#Bien ahora hagamoslo así:</span></li>
<li>resultado = x < y</li>
<li><span style="color: #6aa84f;"><b style="color: black;"><span style="color: #b45f06;">if </span></b><span style="color: black;">resultado: </span><span style="color: #3d85c6;"># traducido es: si resultado es verdadero has</span></span></li>
<li><span style="color: #6aa84f;"><span style="color: #3d85c6;"><span style="color: black;"> </span><span style="color: #e69138;">print </span><span style="color: #6aa84f;">"y es mayor que x"</span><span style="color: black;"> </span></span></span></li>
<li><span style="color: #6aa84f;"><span style="color: #3d85c6;"><span style="color: black;"><b style="color: #b45f06;">else:</b><span style="color: #3d85c6;"># sino es verdadero has</span></span></span></span></li>
<li><span style="color: #6aa84f;"><span style="color: #3d85c6;"><span style="color: black;"><span style="color: #3d85c6;"><span style="color: #e69138;"> print </span><span style="color: #6aa84f;">"y no es mayor que x"</span><span style="color: black;"> </span></span></span></span></span></li>
</ol>
<br />
<br />
-----------------------------------------------------------------------------------------------------------------------<br />
<br />
<br />
Bien ahora que ya tenemos algunas herramientas hagamos algo mas interesante, y porque no un juego.<br />
<br />
Vamos a simular un mini-juego social en donde nosotros platicaremos con un personaje, dicho personaje tendrá ciertos gustos, el juego mostrara una descripción breve del personaje, y nosotros le iremos sacando platica de distintos temas y conforme a los gustos del personaje iremos ganando puntos o perdiendo, al final del juego el personaje te dirá si le caíste bien o mal.<br />
<br />
Aqui les dejo el codigo:<br />
<br />
<br /></div>
<div>
------------------------------Tutorial_8-Juego-Condicionales.py-----------------------------------------------<br />
<br />
<br />
<ol>
<li>#creamos una variable tipo entero que sera contador para ir guardando los puntos</li>
<li>contador = 0</li>
<li><br /></li>
<li>#creamos la variable tipo cadena de nombre de jugador </li>
<li>jugador = ""</li>
<li><br /></li>
<li>#hagamos un diccionario con los datos y gustos de conversación con los puntos en base a nuestro personaje</li>
<li>personaje= {"Nombre": "Andrea","Música": 5, "Comedia": 3, "Baile":-2, "Comida": 1, "Coqueteo":-10, "Autos": -2, "Computación": 10}</li>
<li><br /></li>
<li>#creamos una variable de tema elegido por el jugador</li>
<li>tema= "ninguno"</li>
<li><br /></li>
<li>#hagamos una lista con gestos del personaje. Abreviaremos con una g</li>
<li>g= [":-D",":-(",":-)",":-|",":-O",":-P"] #Solo para recordar lo visto antes pues la verdad esta de mas</li>
<li><br /></li>
<li><br /></li>
<li>#creamos diálogos:</li>
<li><br /></li>
<li>print "Hola mi nombre es",personaje["Nombre"], "¿Cual es tu nombre?"</li>
<li>jugador = raw_input()</li>
<li><br /></li>
<li>print personaje["Nombre"],":\nMucho gusto",jugador, "hoy es un buen dia :D"</li>
<li><br /></li>
<li>#mostramos las respuestas posibles:</li>
<li>print """\nHablar de :</li>
<li>1) Música 2) Comedia 3) Baile 4) Comida 5) Coqueteo 6) Autos 7) Computación"""</li>
<li>tema= raw_input()</li>
<li><br /></li>
<li><b>if</b> int(tema) == 1:</li>
<li> print personaje["Nombre"],":\nSi ami también me encanta la música sobre todo la de ProngonStons",g[0]</li>
<li> contador += personaje["Música"]#sumamos los puntos</li>
<li> tema= "ninguno"#reseteamos el tema</li>
<li><br /></li>
<li>elif int(tema) == 2:</li>
<li> print personaje["Nombre"],":\nHey que buen chiste, ¿de donde lo sacaste? ",g[5]</li>
<li> contador += personaje["Comedia"]#sumamos los puntos</li>
<li> tema= "ninguno"#reseteamos el tema</li>
<li>elif int(tema) == 3:</li>
<li> print personaje["Nombre"],":\n...este pues si bailo pero casi nada, ocupo andar entonada...",g[3]</li>
<li> contador += personaje["Comedia"]#sumamos los puntos</li>
<li> tema= "ninguno"#reseteamos el tema</li>
<li><br /></li>
<li>elif int(tema) == 4:</li>
<li> print personaje["Nombre"],":\nSi, ese restaurante esta de lujo, y el servicio es muy bueno, sin duda iría todos los días",g[2]</li>
<li> contador += personaje["Comida"]#sumamos los puntos</li>
<li> tema= "ninguno"#reseteamos el tema</li>
<li><br /></li>
<li>elif int(tema) == 5:</li>
<li> print personaje["Nombre"],":\nPero que te pasa imbecil? Osea, apenas me conoces... IDIOTA!",g[1]</li>
<li> contador += personaje["Coqueteo"]#sumamos los puntos</li>
<li> tema= "ninguno"#reseteamos el tema</li>
<li><br /></li>
<li>elif int(tema) == 6:</li>
<li> print personaje["Nombre"],":\nPues si tu lo dices... (pinche carro mugroso) si, esta bonito...",g[3]</li>
<li> contador += personaje["Autos"]#sumamos los puntos</li>
<li> tema= "ninguno"#reseteamos el tema</li>
<li><br /></li>
<li>elif int(tema) == 7:</li>
<li> print personaje["Nombre"],":\nMe encanta la computación, soy programadora en Python",g[0]</li>
<li> contador += personaje["Computación"]#sumamos los puntos</li>
<li> tema= "ninguno"#reseteamos el tema</li>
<li>else:</li>
<li> print personaje["Nombre"],":\nTe lo pierdes..."</li>
<li><br /></li>
<li>#mostramos las respuestas posibles:</li>
<li>print """\nHablar de :</li>
<li>1) Música 2) Comedia 3) Baile 4) Comida 5) Coqueteo 6) Autos 7) Computación"""</li>
<li>tema= raw_input()</li>
<li><br /></li>
<li>if int(tema) == 1:</li>
<li> print personaje["Nombre"],":\nSi ami también me encanta la música sobre todo la de ProngonStons",g[0]</li>
<li> contador += personaje["Música"]#sumamos los puntos</li>
<li> tema= "ninguno"#reseteamos el tema</li>
<li><br /></li>
<li>elif int(tema) == 2:</li>
<li> print personaje["Nombre"],":\nHey que buen chiste, ¿de donde lo sacaste? ",g[5]</li>
<li> contador += personaje["Comedia"]#sumamos los puntos</li>
<li> tema= "ninguno"#reseteamos el tema</li>
<li><br /></li>
<li>elif int(tema) == 3:</li>
<li> print personaje["Nombre"],":\n...este pues si bailo pero casi nada, ocupo andar entonada...",g[3]</li>
<li> contador += personaje["Comedia"]#sumamos los puntos</li>
<li> tema= "ninguno"#reseteamos el tema</li>
<li><br /></li>
<li>elif int(tema) == 4:</li>
<li> print personaje["Nombre"],":\nSi, ese restaurante esta de lujo, y el servicio es muy bueno, sin duda iría todos los dias",g[2]</li>
<li> contador += personaje["Comida"]#sumamos los puntos</li>
<li> tema= "ninguno"#reseteamos el tema</li>
<li><br /></li>
<li>elif int(tema) == 5:</li>
<li> print personaje["Nombre"],":\nPero que te pasa imbecil? Osea, apenas me conoces... IDIOTA!",g[1]</li>
<li> contador += personaje["Coqueteo"]#sumamos los puntos</li>
<li> tema= "ninguno"#reseteamos el tema</li>
<li><br /></li>
<li>elif int(tema) == 6:</li>
<li> print personaje["Nombre"],":\nPues si tu lo dices... (pinche carro mugroso) si, esta bonito...",g[3]</li>
<li> contador += personaje["Autos"]#sumamos los puntos</li>
<li> tema= "ninguno"#reseteamos el tema</li>
<li><br /></li>
<li>elif int(tema) == 7:</li>
<li> print personaje["Nombre"],":\nMe encanta la computación, soy programadora en Python",g[0]</li>
<li> contador += personaje["Computación"]#sumamos los puntos</li>
<li> tema= "ninguno"#reseteamos el tema</li>
<li>else:</li>
<li> print personaje["Nombre"],":\nTe lo pierdes..."</li>
<li><br /></li>
<li>print " "</li>
<li>#En base a los puntos obtenidos muestra un mensaje final mas que claro xD</li>
<li>if contador >= 20:</li>
<li> print personaje["Nombre"],":\nEres muy agradable, hay que salir luego, este es mi Google+"</li>
<li>elif contador >=10:</li>
<li> print personaje["Nombre"],":\nMe caíste bien, adiós"</li>
<li>elif contador >= 5:</li>
<li> print personaje["Nombre"],":\nAdiós"</li>
<li>elif contador < 5:</li>
<li> print personaje["Nombre"],":\nEres todo un idiota no se como me tope contigo"</li>
</ol>
<!--StartFragment--><br />
<br />
<br />
-----------------------------------------------------------------------------------------------------------------------</div>
<div>
<br />
Bien, es importante que lean el código para que puedan identificar unos detalles, igual los dejare aquí abajo junto con el link de descarga del .py<br />
<br />
Utilice un nuevo concepto, al menos nuevo en mis tutoriales, y pues me refiero a los contadores, son básicamente variables que van acumulando o restando cierta cantidad a su valor inicial, y la forma mas fácil de hacerlo es como lo hice en el código anterior pero esta también esta forma:<br />
<br />
<br />
<ul>
<li>contador = contador + variable </li>
</ul>
<br />
<br />
En otras palabras dice: el valor del contador es igual a lo que tiene contador mas el valor de la variable, que es lo mismo que esto:<br />
<br />
<br />
<ul>
<li>contador <complete id="goog_78199951">+= variable</complete></li>
</ul>
<div>
Y por ultimo, el print, para imprimir las opciones utilice triple comillas lo cual no mencione en el tutorial de cadenas, al imprimir con triple comillas se logra que el texto introducido quede tal cual nosotros lo dejemos escrito, de otra forma si imprimiéramos el mismo texto con solo una comillas pasaría esto:</div>
<div>
<br /></div>
<div>
------------------------------Tutorial_8-Juego-Condicionales.py-----------------------------------------------</div>
<div>
print "\nHablar de :</div>
1) Música 2) Comedia 3) Baile 4) Comida 5) Coqueteo 6) Autos 7) Computación"<!--EndFragment--><br />
<br />
-----------------------------------------------------------------------------------------------------------------------<br />
<br />
Resultado: Pues claro, nos daría error.<br />
<br />
Bueno, la ventaja de hacerlo con triple comillas y no con un salto de linea es eso, el salto de linea, si fueran mas lineas de texto nos ahorraríamos unos cuantos saltos de linea.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><span style="margin-left: auto; margin-right: auto;"><a href="http://www.mediafire.com/download.php?836faupeqmt92p2" target="_blank"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZaLuhq6NJK2MgyvYibcYvFxrtZQCz9-GWQUwcbgpM-_MtDzTfAGADoqih165GplZ6CEvfokokqbgEH7N08Xv6HfjPWTKxpuENBSKR17gJK1YzL4TIM7xvZY0NT_9RzRbmqG22ilS9-A/s1600/descargas.png" /></a></span></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><a href="http://www.mediafire.com/download.php?836faupeqmt92p2" target="_blank">Juego Social.py</a></td></tr>
</tbody></table>
<h2>
Bueno por hoy es todo, espero que les aya gustado, si es así no olviden dejar un +1 aquí abajito al igual que sus comentarios, gracias y hasta la próxima. :D</h2>
<br />
<br /></div>
<div>
<br /></div>
Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-55011067473413287182013-01-13T00:01:00.003-08:002013-01-13T00:18:11.340-08:00Tutorial Hawk 7 -Tuplas y Diccionarios <h2>
Hola, este tutorial sera muy sencillo pues es una continuación del tutorial anterior <a href="http://softwarezlive.blogspot.mx/2013/01/tutorial-hawk-6-listas.html">Tutorial Hawk 6 -Listas</a> .</h2>
<h3>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdkVBedza797Q3Ft6UCHqIJ5FFD7EcBUx2aZTt4aN6SejULspEygrd0MYbmxH4xO18jJEi9YfgMVq5CgxbPk-O0Hzq3EfmKcCo_UpuSsArM2pm4VT0EOz9IPMZp6FSE-OzYs0q0CA9SQ/s1600/LogoTutorialesHawk.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdkVBedza797Q3Ft6UCHqIJ5FFD7EcBUx2aZTt4aN6SejULspEygrd0MYbmxH4xO18jJEi9YfgMVq5CgxbPk-O0Hzq3EfmKcCo_UpuSsArM2pm4VT0EOz9IPMZp6FSE-OzYs0q0CA9SQ/s1600/LogoTutorialesHawk.png" height="200" id="image_nmike" width="200" /></a><br /><b>Tuplas:</b></h3>
<div>
<b><br /></b></div>
<div>
A las tuplas se le aplica prácticamente todo lo de las listas, en lugar de utilizar corchetes utilizaremos paréntesis aunque estos son para identificar que es una tupla, pues no es necesario ponerlos.</div>
<div>
<br /></div>
<div>
<b>Ejemplo: </b></div>
<div>
<br /></div>
<div>
Abrimos una terminal Ctrl+Alt+T y tecleamos lo siguiente.</div>
<div>
<br />
<a name='more'></a><br /></div>
<div>
<br />
<ol>
<li><span style="color: #b45f06;">>>></span>tupla= 1,2,3<span style="color: #3d85c6;">#para verificar que esto es una tupla y que no les miento usaremos esta funcion type()</span></li>
<li><span style="color: #b45f06;">>>></span><span style="color: #a64d79;">type</span>(tupla)</li>
<li><type 'tuple'></li>
<li><span style="color: #b45f06;">>>></span></li>
</ol>
</div>
<div>
<br /></div>
<div>
En una tupla como ven, los paréntesis no son necesario, en si el identificador de una tupla es la coma (,) y hay que tener en cuenta que cuando la tupla tiene solo un elemento debe llevar una coma por lo menos.</div>
<div>
<br /></div>
<div>
También como en las listas la forma de acceder a los elementos es idéntica:</div>
<div>
<br /></div>
<div>
<ol>
<li><span style="color: #b45f06;">>>></span>tupla= ("union", 40, True, ["planta","agua"])</li>
<li><span style="color: #b45f06;">>>></span>print tupla[0]</li>
<li>union</li>
<li><span style="color: #b45f06;">>>></span>tupla[3][0]</li>
<li>'planta'</li>
<li><span style="color: #b45f06;">>>></span>tupla[0:]</li>
<li>('union', 40, True, ['planta', 'agua'])</li>
<li><span style="color: #b45f06;">>>></span></li>
</ol>
<div>
Como pueden ver se puede acceder a los elementos por medio de indices y de rebanadas.</div>
</div>
<div>
<br /></div>
<div>
<b>Bien y entonces ¿Cuál es la diferencia?</b></div>
<div>
<b><br /></b></div>
<div>
Pes la diferencia es que en las listas se pueden seguir agregando elementos cuando uno quiera, pero en las tuplas eso es imposible pues son inmutables, y la ventaja de las tuplas es que son mas ligeras.</div>
<div>
<br /></div>
<h3>
Diccionarios:</h3>
<div>
Los diccionarios se declaran muy parecido a las listas y tuplas, en lugar de corchetes o paréntesis usamos llaves {}<br />
<br />
En cambio con las listas y tuplas, en los diccionarios no es posible acceder a ellas por indices ni rebanadas, a los elementos de un diccionario se accede por medio de una "clave" veamos como es esto:<br />
<br />
<br />
<ol>
<li><span style="color: #b45f06;">>>></span>diccionario = {"Nombre": "Mike Hawk", "Genero": "Masculino"}</li>
<li><span style="color: #b45f06;">>>></span>diccionario</li>
<li><span style="color: #b45f06;">>>></span>{'Nombre': 'Mike Hawk', 'Genero': 'Masculino'}</li>
<li><span style="color: #b45f06;">>>></span>print diccionario["Nombre"]</li>
<li>Mike Hawk</li>
<li><span style="color: #b45f06;">>>></span>diccionario[0]<span style="color: #3d85c6;">#Esto deberá marcar error</span></li>
<li><br /></li>
<li>Traceback (most recent call last):</li>
<li> File "<stdin>", line 1, in <module></li>
<li>KeyError: 0</li>
<li><span style="color: #b45f06;">>>></span></li>
</ol>
<br />
<br />
Bien como pueden ver los elementos de un diccionario también son separados por comas, y el identificador lleva seguido dos puntos y seguido el significado o valor.<br />
<br />
Los identificadores pueden ser números o cadenas al igual que el significado.<br />
<br />
Los diccionarios si son mutables como las listas, pero eso lo veremos en tutoriales mas avanzados.<br />
<br />
<b>Espero les aya gustado y vayan agarrando la onda, si alguna parte no la entienden o quieren profundizar solo háganlo saber y con gusto responderé, no olviden dejar un +1 Hasta luego!! :D</b></div>
<div>
<br /></div>
Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-76220644269956314002013-01-12T21:58:00.002-08:002013-01-12T22:32:20.317-08:00NINJA IDE<h2>
Hola, les traigo un IDE para aquellos que no estén conformes con Eclipse o el que viene con Python, se trata de NINJA IDE, al parecer un muy buen editor, les dejo la pagina y como instalarlo en Ubuntu.</h2>
<br />
<a href="http://www.ubunque.eu/wp-content/uploads/2011/12/ninja-ide.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" id = "image_nmike" src="http://www.ubunque.eu/wp-content/uploads/2011/12/ninja-ide.png" height="200" width="200" /></a><br />
Antes que nada abrimos un terminal Ctrl+Alt+T <br />
<br />
Agregamos el repositorio del IDE:<br />
<ul>
<li>$sudo apt-add-repository ppa:ninja-ide-developers/daily</li>
</ul>
Actualizamos<br />
<ul>
<li>$sudo apt-get update</li>
</ul>
<div>
Por ultimo instalamos:</div>
<div>
<ul>
<li>$sudo apt-get install ninja-ide</li>
</ul>
<div>
<b>Y listo!! Yo aun no lo calo, pero pronto les daré mi punto de vista ;) Hasta luego!</b></div>
<div>
<br /></div>
</div>
<div>
NINJA IDE es multiplataforma asi que también lo hallaran para Windows. <a href="http://ninja-ide.org/" target="_blank">Web Oficial</a> </div>Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-60232386394361901382013-01-12T16:36:00.013-08:002021-04-27T16:04:14.654-07:00Tutorial Hawk 6 -Listas<p>
Hola muy buenas a todos, el día de hoy les traigo un tutorial para
manejar listas, de momento daré una explicación de una
lista y para que puede ser útil, comenzamos!.
</p>
<br />
Una lista, también conocida como arreglo (array) o vector, nos
sirve para para almacenar un grupo de datos de forma ordenada, de forma que
podamos acceder a dichos datos fácilmente.<br />
<br />
Para para que no se me hagan bolas en estos tutoriales los llamare listas.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdkVBedza797Q3Ft6UCHqIJ5FFD7EcBUx2aZTt4aN6SejULspEygrd0MYbmxH4xO18jJEi9YfgMVq5CgxbPk-O0Hzq3EfmKcCo_UpuSsArM2pm4VT0EOz9IPMZp6FSE-OzYs0q0CA9SQ/s1600/LogoTutorialesHawk.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" id="image_nmike" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdkVBedza797Q3Ft6UCHqIJ5FFD7EcBUx2aZTt4aN6SejULspEygrd0MYbmxH4xO18jJEi9YfgMVq5CgxbPk-O0Hzq3EfmKcCo_UpuSsArM2pm4VT0EOz9IPMZp6FSE-OzYs0q0CA9SQ/s1600/LogoTutorialesHawk.png" width="200" /></a><br /><h4 style="text-align: left;">
Bien pues una lista puede contener varios tipos de datos:</h4>
<ul>
<li>Números (enteros, flotantes, complejos, etc.)</li>
<li>Cadenas de caracteres</li>
<li>Booleanos</li>
<li><span style="color: #a0ff77;">Listas</span></li>
<li><span style="color: #a0ff77;">Diccionarios</span></li>
<li><span style="color: #a0ff77;">Tuplas</span></li>
</ul>
<div><a name='more'></a><br /></div>
<div>En los siguientes tutoriales hablare de Diccionarios y Tuplas.</div>
<div>
<br />
</div>
<b>¿Como hacemos una lista en Python?</b><br />
<br />
En realidad es muy sencillo, pues es como crear una variable pero veamos
enseguida la pequeña diferencia:<br />
<br />
nombre_de_la_lista + operador_de_ asignación + corchetes<br />
<br />
<span style="color: #a64d79;">------------------------------------------------Eclipse--------------------------------------------------------------</span><br />
<br />
<!--codigo de github-->
<script src="https://gist.github.com/MikeWolf90/de9a4e6e4069b6c82786d5d144de5026.js"></script>
<ol>
<li><span style="color: #3d85c6;">#Creamos un arreglo vacío</span></li>
<li><br /></li>
<li>lista = []</li>
<li>
<span style="color: #3d85c6;">#Ahora vamos a sobrescribir el arreglo</span>
</li>
<li><br /></li>
<li>
lista= [<span style="color: #6aa84f;">"Manzanas"</span>,<span style="color: #6aa84f;">"Peras"</span>,<span style="color: #6aa84f;">"Guayabas"</span>]<span style="color: #3d85c6;">#Los elementos de la lista se separan por comas, y en caso de ser texto
pone entre comillas</span>
</li>
<li>
<span style="color: #3d85c6;">#Para ver el contenido de nuestra lista solo tenemos que usar
la función print de la siguiente forma</span>
</li>
<li><span style="color: #e69138;">print </span>lista</li>
</ol>
<br />
<br />
<span style="color: #a64d79;">-----------------------------------------------------------------------------------------------------------------------</span><br />
<br />
El código anterior nos desplegaría este resultado
: ['Manzanas', 'Peras', 'Guayabas']<br />
<br />
Hay varias formas de acceder a los elementos de una lista y una de ella es por
medio de indices, en las listas los indices comienzan en cero, eso quiere decir
que si nuestra lista tiene tres elementos el indice mas alto seria 2 que es
igual a (Total de elementos -1). <br />
<br />
<b>Ejemplo:</b><br />
<br />
<span style="color: #a64d79;">------------------------------------------------Eclipse--------------------------------------------------------------</span><br />
<br />
<ol>
<li><span style="color: #3d85c6;">#Creamos una lista</span></li>
<li>
tipos_de_dato=[<span style="color: #6aa84f;">"Entero"</span>,
<span style="color: #6aa84f;">"B</span><span style="color: #6aa84f;">ooleano"</span>,
<span style="color: #6aa84f;">"Cadenas"</span>, [7,9,<span style="color: #e69138;">True</span>]] <span style="color: #3d85c6;">#Metemos tipos de datos distintos y sin problem</span>
</li>
<li>
<span style="color: #e69138;">print </span>tipos_de_dato[0]<span style="color: #3d85c6;">#Esto nos debería de imprimir el primer elemento</span>
</li>
<li>
<span style="color: #e69138;">print </span>tipos_de_dato[2]<span style="color: #3d85c6;">#Esto nos debería de imprimir el tercer elemento</span>
</li>
<li>
<span style="color: #e69138;">print </span>tipos_de_dato[3]<span style="color: #3d85c6;">#Esto nos debería de imprimir el cuarto elemento</span>
</li>
<li>
<span style="color: #3d85c6;">#Para acceder a los elementos de la lista que esta dentro de otra lista
se hace</span><span style="color: #3d85c6;"> de la siguiente manera</span>
</li>
<li>
<span style="color: #e69138;">print </span>tipos_de_dato[3][0]<span style="color: #3d85c6;">#Esto nos debería de imprimir el primer elemento de la
sub-lista</span>
</li>
<li>
<span style="color: #e69138;">print </span>tipos_de_dato[3][2]<span style="color: #3d85c6;">#Esto nos debería de imprimir el tercer elemento de la
sub-lista</span>
</li>
</ol>
<br />
<br />
<span style="color: #a64d79;">-----------------------------------------------------------------------------------------------------------------------</span><br />
<br />
<b>La salida del código anterior seria esta:</b><br />
<br />
<br />
<br />
<ol>
<li>['Manzanas', 'Peras', 'Guayabas']</li>
<li>Entero</li>
<li>Cadenas</li>
<li>[7, 9, True]</li>
<li>7</li>
<li>True</li>
</ol>
<br />
<br />
Como pueden ver es bastante sencilla la forma de acceder a los elementos de una
lista.<br />
<br />
<span style="color: #a64d79;">------------------Ventana De
Conocimiento--------------------------------------------------------------</span><br />
<span style="color: #a64d79;">| </span><br />
<span style="color: #a64d79;">| </span>Los indices también se
pueden manejar con números negativo, como ejemplo:<br />
<span style="color: #a64d79;">|</span><span style="color: #e69138;">print </span>tipos_de_dato[-1]<span style="color: #3d85c6;">
#Esto nos diaria el ultimo elemento de nuestra lista.</span><br />
<span style="color: #a64d79;">|</span><br />
<span style="color: #a64d79;">---------------------------------------------------------------</span><span style="color: #a64d79;">--------------------------------------------------------</span><br />
<span style="color: #a64d79;"><br /></span>
<span style="color: #a64d79;"><br /></span>
<b>Otra forma de acceder a los elementos de una lista es por
el método de rebanadas o slicing.</b><br />
<b><br /></b>
Este método consiste en<b> </b>dos parámetros inicio
y fin de la rebanada, la sintaxis es muy sencilla pero mejor vamos a un
ejemplo.<br />
<br />
<span style="color: #a64d79;">------------------------------------------------Eclipse--------------------------------------------------------------</span><br />
<span style="color: #a64d79;"><br /></span>
<span style="color: #3d85c6;">#usamos el mismo arreglo de antes </span><br />
<span style="color: #e69138;">print </span>tipos_de_dato[0:4] <span style="color: #3d85c6;">#inicio : fin</span><br />
<span style="color: #a64d79;">-----------------------------------------------------------------------------------------------------------------------</span><br />
<span style="color: #a64d79;"><br /></span>
Como pueden ver hay un 4 y no tenemos un indice 4, pues verán el
inicio de la rebanada hace referencia a los indices desde cero pero el
final de la rebanada final hace referencia a los indices empezando en uno.<br />
<br />
inicio rebanada : 0 1 2 3<br />
fin rebanada : 1 2 3 4<br />
<br />
Las rebanadas no necesariamente deben tener números pueden
estar vacías.<br />
<br />
<br />
<span style="color: #a64d79;">------------------------------------------------Eclipse--------------------------------------------------------------</span><br />
<span style="color: #a64d79;"><br /></span>
<span style="color: #3d85c6;">#usamos el mismo arreglo de antes </span><br />
<span style="color: #e69138;">print </span>tipos_de_dato[0:] <span style="color: #3d85c6;">#Esto nos imprimiría igualmente
que print tipos_de_dato[0:4] </span><br />
<span style="color: #e69138;">print </span>tipos_de_dato[:4] <span style="color: #3d85c6;">#Esto nos imprimiría igualmente
que print tipos_de_dato[0:] </span><br />
<span style="color: #3d85c6;"><br /></span>
<span style="color: #a64d79;">-----------------------------------------------------------------------------------------------------------------------</span><br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;">
<tbody>
<tr>
<td style="text-align: center;">
<span style="margin-left: auto; margin-right: auto;"><a href="http://www.mediafire.com/download.php?0exn13j08unhz4h" target="_blank"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZaLuhq6NJK2MgyvYibcYvFxrtZQCz9-GWQUwcbgpM-_MtDzTfAGADoqih165GplZ6CEvfokokqbgEH7N08Xv6HfjPWTKxpuENBSKR17gJK1YzL4TIM7xvZY0NT_9RzRbmqG22ilS9-A/s1600/descargas.png" /></a></span>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align: center;">
<a href="http://www.mediafire.com/download.php?0exn13j08unhz4h" target="_blank"><b style="color: #6aa84f; font-size: medium; text-align: start;">Tutorial Hawk 6 -Listas</b><span style="color: #6aa84f; font-size: small; text-align: start;"> </span></a>
</td>
</tr>
</tbody>
</table>
<div style="text-align: center;">
<br />
</div>
<br />
<b>Muy bien pues es todo, espero que les aya gustado, no olviden dejar
un +1 si es que les ha gustado </b><b>sino pues critiquen, me gustaría recibir criticas, buenas o malas
siempre ayudan :) hasta luego! </b><br />
<br />
Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-78976469242202453462013-01-11T20:17:00.000-08:002013-01-12T14:24:34.904-08:00Tutorial Hawk 5 -Cadenas o Strings<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdkVBedza797Q3Ft6UCHqIJ5FFD7EcBUx2aZTt4aN6SejULspEygrd0MYbmxH4xO18jJEi9YfgMVq5CgxbPk-O0Hzq3EfmKcCo_UpuSsArM2pm4VT0EOz9IPMZp6FSE-OzYs0q0CA9SQ/s1600/LogoTutorialesHawk.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdkVBedza797Q3Ft6UCHqIJ5FFD7EcBUx2aZTt4aN6SejULspEygrd0MYbmxH4xO18jJEi9YfgMVq5CgxbPk-O0Hzq3EfmKcCo_UpuSsArM2pm4VT0EOz9IPMZp6FSE-OzYs0q0CA9SQ/s1600/LogoTutorialesHawk.png" height="200" id="image_nmike" width="200" /></a><b>Hola a todos! En este tutorial tratare de profundizar un poco en las cadenas y como podemos manipularlas. </b><br />
<b><br /></b>
En Python es posible representar texto de estas dos maneras:<br />
<br />
<ol>
<li>cadena = "Texto"</li>
<li>cadena = 'Texto'</li>
</ol>
<div>
Ya sean comillas dobles o sencillas para Python es lo mismo, pero si comienzas con comillas dobles debes de terminar con comillas dobles, y aquí un ejemplo de un error:</div>
<div>
<ul>
<li>cadena = "Texto'</li>
</ul>
<div>
<a name='more'></a><br /></div>
<div>
Bien, en dado caso la combinación de comillas podría ser así:</div>
</div>
<div>
<ul>
<li>cadena = "Texto" + 'Texto2'</li>
</ul>
<div>
En conclusión, con las comillas que se abren deben cerrarse y la decision de cuales usaran ya estará en sus gustos.</div>
</div>
<div>
<br /></div>
<div>
En las cadenas existen un tipo de caracteres especiales y solo mencionare los que usaremos, pero pues claro que hay mas.</div>
<div>
<br /></div>
<div>
<ul>
<li>\n Diagonal invertida seguida de una "n" nos dará un salto a la siguiente linea</li>
<li>\t Diagonal invertida seguida de una "t" nos dará un espacio equivalente a un tabulador.</li>
</ul>
<div>
<br /></div>
</div>
<div>
<b>Ejemplo:</b></div>
<div>
<br /></div>
<div>
Abrimos Eclipse o el IDE de Python, creamos un archivo nuevo con extension .py y le llamamos cadenas.py y escribimos este código:</div>
<div>
<br /></div>
<div>
#=========================================================================</div>
<div>
<div>
<ol>
<li>cadena <span style="color: #6aa84f;"> </span>=<span style="color: #6aa84f;"> "Texto normal"</span></li>
<li>cadena2 = <span style="color: #6aa84f;">"Texto con \nsalto de linea"</span></li>
<li>cadena3 = <span style="color: #6aa84f;">"\tTexto con tabulador"</span></li>
<li><span style="color: #6aa84f;"><br /></span></li>
<li><span style="color: #e69138;">print </span><span style="color: #d5a6bd;">cadena</span></li>
<li><span style="color: #e69138;">print </span><span style="color: #c27ba0;">cadena2</span></li>
<li><span style="color: #e69138;">print</span> <span style="color: #a64d79;">cadena3</span></li>
</ol>
</div>
</div>
<div>
#=========================================================================</div>
<div>
<br /></div>
<div>
Si corren este código deberá crear algo así:</div>
<div>
<br /></div>
<div>
<div>
<span style="color: #d5a6bd;">Texto normal</span></div>
<div>
<span style="color: #c27ba0;">Texto con </span></div>
<div>
<span style="color: #c27ba0;">salto de linea</span></div>
<div>
<span class="Apple-tab-span" style="white-space: pre;"> </span><span style="color: #a64d79;">Texto con tabulador</span></div>
</div>
<div>
<span style="color: #a64d79;"><br /></span></div>
Ahora vamos a introducir un comentario en nuestro programa:<br />
<br />
<br />
<div>
#=========================================================================</div>
<div>
<div>
<ol>
<li><span style="font-size: x-small;"> </span>cadena = <span style="color: #6aa84f;">"Texto normal"</span><span style="color: #3d85c6;">#Esto es un comentario de una sola linea</span></li>
<li><span style="font-size: x-small;"> </span>cadena2 = <span style="color: #6aa84f;">"Texto con \nsalto de linea"</span></li>
<li><span style="font-size: x-small;"> </span>cadena3 = <span style="color: #6aa84f;">"\tTexto con tabulador"</span></li>
<li><br /></li>
<li><span style="color: #e69138;">print</span> cadena</li>
<li><span style="color: #e69138;">print</span> cadena2</li>
<li><span style="color: #e69138;">print </span>cadena3</li>
<li><span style="color: #6aa84f;">"""Este tipo de comentario se utiliza</span></li>
<li><span style="color: #a64d79;"> </span> <span style="color: #6aa84f;">cuando el contenido textual es muy largo"""</span></li>
</ol>
</div>
</div>
<div>
#=========================================================================</div>
<div>
<span style="color: #a64d79;"><br /></span></div>
<div>
<span style="color: #a64d79;"><br /></span></div>
<div>
Los comentarios se utilizan para identificar partes de un programa o para que otras personas entiendan mejor tu código o simplemente como recordatorios o anotaciones, dichas anotaciones no afectan a nuestro programa pues Python los ignora.</div>
<div>
<br /></div>
De este modo comentaríamos todo nuestro código:<br />
<div>
#=========================================================================</div>
<div>
<div>
<ol>
<li><span style="color: #6aa84f;">"""cadena = "Texto normal"</span></li>
<li><span style="color: #6aa84f;">cadena2 = "Texto con \nsalto de linea"</span></li>
<li><span style="color: #6aa84f;">cadena3 = "\tTexto con tabulador"</span></li>
<li><span style="color: #6aa84f;"><br /></span></li>
<li><span style="color: #6aa84f;">print cadena</span></li>
<li><span style="color: #6aa84f;">print cadena2</span></li>
<li><span style="color: #6aa84f;">print cadena3"""</span></li>
</ol>
</div>
</div>
<div>
#=========================================================================</div>
<div>
<br /></div>
<div>
<br /></div>
Ahora vamos a concatenar cadenas de caracteres, ya verán que es muy sencillo, colo tenemos que usar el operador de suma.<br />
<div>
<br /></div>
<div>
#=========================================================================</div>
<div>
<span style="color: #e69138;">print</span> <span style="color: #6aa84f;">"Hola"</span> + <span style="color: #6aa84f;">" Mundo"</span></div>
<div>
<br /></div>
<div>
#=========================================================================</div>
<div>
<br /></div>
<div>
Si corren esa instrucción verán que el resultado es <span style="color: #6aa84f;">"Hola Mundo"</span></div>
<div>
<span style="color: #6aa84f;"><br /></span></div>
Ahora regresemos al código anterior con alguna modificaciones:<br />
<br />
#=========================================================================<br />
<br />
<br />
<ol>
<li>cadena = <span style="color: #6aa84f;">"Texto 1 "</span></li>
<li>cadena2 = <span style="color: #6aa84f;">"Texto 2 "</span></li>
<li>cadena3 = <span style="color: #6aa84f;">"Texto 3 "</span></li>
<li><br /></li>
<li><span style="color: #e69138;">print</span> <span style="color: #ead1dc;">cadena + cadena2 </span><span style="color: #3d85c6;">#Como pueden ver, con las variables de tipo cadena tambien se pueden usar los operadores</span></li>
<li><span style="color: #e69138;">print</span> <span style="color: #d5a6bd;">cadena + cadena</span></li>
<li><span style="color: #e69138;">print</span> <span style="color: #c27ba0;">cadena + cadena2 + cadena3</span></li>
<li><span style="color: #e69138;">print</span> <span style="color: #a64d79;">cadena * 3</span><span style="color: #3d85c6;">#Nótese que solo son validos dos operadores + y *</span></li>
</ol>
<div>
#=========================================================================</div>
<div>
<br /></div>
<div>
Como resultado debería arrojar este:</div>
<div>
<br /></div>
<div>
#=========================================================================</div>
<div>
<div>
<span style="color: #ead1dc;">Texto 1 Texto 2 </span></div>
<div>
<span style="color: #d5a6bd;">Texto 1 Texto 1</span> </div>
<div>
<span style="color: #c27ba0;">Texto 1 Texto 2 Texto 3</span> </div>
<div>
<span style="color: #a64d79;">Texto 1 Texto 1 Texto 1</span></div>
</div>
<div>
#=========================================================================</div>
<br />
<div>
<br /></div>
<div>
Ahora haremos un programa interactivo en donde usaremos todo lo visto hasta ahorita, pero muy simple solo para que se den una idea.</div>
<div>
<br /></div>
<div>
#=========================================================================</div>
<div>
<div>
<ol>
<li><span style="color: #3d85c6;">#!/usr/bin/env python2 </span></li>
<li><span style="color: #3d85c6;"># -*- coding: utf-8 -*-</span></li>
<li><br /></li>
<li><span style="color: #3d85c6;">#creamos una variable en donde guardaremos el nombre del usuario</span></li>
<li>nombre = <span style="color: #6aa84f;">""</span> <span style="color: #3d85c6;">#la inicializamos en blanco</span></li>
<li><span style="color: #e69138;">print</span> <span style="color: #6aa84f;">"Hola, ¿Cual es su nombre? \n-"</span></li>
<li>nombre = raw_input()</li>
<li><span style="color: #e69138;">print</span> <span style="color: #6aa84f;">"Bienvenid@ a Python"</span>, nombre</li>
</ol>
</div>
</div>
<div>
<br /></div>
<div>
#=========================================================================</div>
<div>
<br /></div>
<div>
El resultado en este programa ya es variado y ademas tiene lineas de código que no habíamos visto, una función y un operador nuevo, se los describo paso a paso:</div>
<div>
<br /></div>
<div>
<ul>
<li>En la linea 1 del código esta la ruta en donde se encuentra instalado Python esto solo es necesario en distribuciones linux.</li>
</ul>
<ul>
<li>La linea 2 <span style="color: #3d85c6;"># -*- coding: utf-8 -*- </span>es para decirle a Python que usaremos caracteres que no están en el ASCII tales como letras acentuadas o signo de interrogación de apertura.</li>
</ul>
<ul>
<li>En la linea 7 a la variable nombre le asignamos una función. raw_input nos permite capturar o almacenar todas las letras que hayamos presionado en el teclado, cuando se presiona enter se termina el proceso y asigna todos los caracteres concatenados en la variable nombre.</li>
</ul>
<ul>
<li>En la linea 8 tenemos el operador coma (,) que lo que realiza es la concatenación al igual que el operador de suma + </li>
</ul>
<div>
Por ultimo un video del ejemplo anterior, y recuerden que si tienen alguna duda haganla saber, seguro que si no se la respuesta la encontramos juntos ;)<br />
<br />
<span style="color: #a64d79; font-size: large;"><b>Código fuente del tutorial</b></span> <a href="http://www.mediafire.com/download.php?4ylg3rg55yzhmpi" target="_blank">Descargar</a></div>
</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='640' height='422' src='https://www.youtube.com/embed/aooTzrtLgvU?feature=player_embedded' frameborder='0'></iframe></div>
<div>
<br />
Todo los códigos que estemos creando los subiré a MediaFire y pondré los links al final del tutorial y en la sección de recursos.<br />
<br /></div>
<div>
<span style="color: #3d85c6;"><b>Por hoy es todo, espero les aya gustado, si es así un +1 no cuesta nada, nos vemos en el siguiente.</b></span></div>
<div>
<br /></div>
Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-80611606174593344382013-01-09T22:22:00.000-08:002013-01-12T14:25:39.943-08:00Tutorial Hawk 4 -Hola Mundo en PythonHola. hoy el tutorial sera en Eclipse y haremos nuestro primer archivo <b><span style="font-size: large;">.py</span></b><br />
<b><span style="font-size: large;"><br /></span></b>
<br />
<ul>
<li>Bien para comenzar hay que abrir Eclipse o el IDE de Python.</li>
<li>Creamos un nuevo proyecto y le ponemos el nombre que queramos.</li>
<li>Ahora pasamos a crear un archivo con la extension .py </li>
</ul>
<div>
<a name='more'></a><br /></div>
<h4>
<b><span style="color: #3d85c6;">Video tutorial de como realizar los pasos anteriores:</span></b></h4>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='640' height='422' src='https://www.youtube.com/embed/Otm7ysjoY6A?feature=player_embedded' frameborder='0'></iframe></div>
<br />
<br />
<span style="color: #3d85c6;"><b>Ya estando en este punto comencemos con la programación del Hola Mundo:</b></span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='640' height='422' src='https://www.youtube.com/embed/wx0wkExshcc?feature=player_embedded' frameborder='0'></iframe></div>
<br />
Bien aquí termina el tutorial, nos vemos en la próxima. Cualquier duda o comentario dejen sus comentarios al final de la página. Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-90070759659866215422013-01-09T21:00:00.002-08:002021-04-27T21:18:23.282-07:00Tutorial Hawk 3 -VariablesHola, en esta ocasión les traigo un tutorial de como utilizar y crear variables en Python.<br />
<br />
<br />
<b>Estructura para declarar una variable: </b>Nombre de la variable + operador de asignación + valor a guardar<br />
<div>
<ul>
<li>mi_variable = "valor a guardar"</li>
</ul>
</div>
<br />
<b>Ejemplo:</b><br />
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdkVBedza797Q3Ft6UCHqIJ5FFD7EcBUx2aZTt4aN6SejULspEygrd0MYbmxH4xO18jJEi9YfgMVq5CgxbPk-O0Hzq3EfmKcCo_UpuSsArM2pm4VT0EOz9IPMZp6FSE-OzYs0q0CA9SQ/s1600/LogoTutorialesHawk.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" id="image_nmike" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdkVBedza797Q3Ft6UCHqIJ5FFD7EcBUx2aZTt4aN6SejULspEygrd0MYbmxH4xO18jJEi9YfgMVq5CgxbPk-O0Hzq3EfmKcCo_UpuSsArM2pm4VT0EOz9IPMZp6FSE-OzYs0q0CA9SQ/s1600/LogoTutorialesHawk.png" /></a><b style="color: #990000;">>>></b>variable=5<br />
<b style="color: #990000;">>>></b>variable<br />
5<br />
<b style="color: #990000;">>>></b>variable+5<br />
10<br />
<b style="color: #990000;">>>></b>variable-1<br />
4<br />
<b style="color: #990000;">>>></b>variable+variable<br />
10<br />
<b style="color: #990000;">>>></b>variable = "Diez"<br />
<b style="color: #990000;">>>></b>variable<br />
'Diez'<br />
<b style="color: #990000;">>>></b>print variable<br />
Diez<br />
<b style="color: #990000;">>>></b>variable = 4.5<br />
<b style="color: #990000;">>>></b>variable<br />
4.5<br />
<b style="color: #990000;">>>></b><br />
<div>
<span style="color: yellow;"></span><br />
<a name='more'></a><span style="color: yellow;"><br /></span>
Es así como se crea una variable en Python, cabe destacar que en no es necesario declarar el tipo de dato que contendrán nuestras variables, pues Python lo hace por nosotros. Las variables pueden ser modificadas en el transcurso del programa como se pudo ver en el ejemplo anterior.<br />
<div>
<br /></div>
<div>
En el lenguaje de C o C++ las variables se deben declarar antes de usarlas por lo que no se puede almacenar ningún tipo diferente de dato que no sea el que hayamos declarado. En cambio con Python podemos utilizar una misma variable para muchos datos distintos, uno a la vez claro, pero es posible empezar una variable con un entero pero al final del programa esa variable puede contener un string. +1 para Python<br />
<div>
<br /></div>
<div>
En las variables podemos almacenar de todo tipo de datos, flotantes, enteros, booleanos, complejos, strings, etc.</div>
<div>
<br /></div>
<div>
Un ejemplo mas con variables:</div>
<div>
<br /></div>
<div>
<b style="color: #990000;">>>></b>uno=dos=1</div>
<div>
<b style="color: #990000;">>>></b>uno</div>
<div>
1</div>
<div>
<b style="color: #990000;">>>></b>dos</div>
<div>
1</div>
<div>
<b style="color: #990000;">>>></b>dos=2</div>
<div>
<b style="color: #990000;">>>></b>dos</div>
<div>
2</div>
<div>
<b style="color: #990000;">>>></b>uno="uno"</div>
<div>
<b style="color: #990000;">>>></b>uno</div>
<div>
uno</div>
<div>
<b style="color: #990000;">>>></b>uno=1</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div>
<b style="color: #990000;">>>></b>uno+dos</div>
<div>
3</div>
<div>
<b style="color: #990000;">>>></b></div>
<div>
<br /></div>
<blockquote>En el próximo tutorial comenzaremos a crear programas mas completos pero ya en Eclipse.</blockquote><div><span style="color: #3d85c6;"><b><br /></b></span></div>Ir a <a href="http://softwarezlive.blogspot.mx/2013/01/tutorial-hawk-4-hola-mundo-en-python.html">Tutorial Hawk 4 -Hola Mundo en Python</a>
</div>
</div>
Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-46871266133428360602013-01-09T17:04:00.003-08:002021-04-27T21:16:06.635-07:00Tutorial Hawk 2 -Tipos de datos en PythonBien en este segundo tutorial de Python hablare un poco de los distintos tipos de datos.<br />
<br />
<b><span style="color: #3d85c6;">Nota:</span></b> Estaré trabajando en un entorno de Ubuntu, pero creo que en Windows no es muy distinto, igual cualquier duda pueden comentarla.<br />
<br />
Antes que nada abran una terminal <b>Ctrl+Alt+T </b>en el terminal ponen el comando "python"<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgObbKqMViPJUUZY18GVXcCku_Y9Hwm-zF2sB_TdOFg7PEEZ_bbcaORzcWQKKnsQt7VCJeUoaThE1apeEGrCyWtJGmsQNb_0pMyL3IKMK-AohBr7wwFwDkOFB9qzhs4PISwRbblq7nTxA/s1600/mike_hawk@Mike-PC:+~_004.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="432" id="image_nmike" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgObbKqMViPJUUZY18GVXcCku_Y9Hwm-zF2sB_TdOFg7PEEZ_bbcaORzcWQKKnsQt7VCJeUoaThE1apeEGrCyWtJGmsQNb_0pMyL3IKMK-AohBr7wwFwDkOFB9qzhs4PISwRbblq7nTxA/s1600/mike_hawk@Mike-PC:+~_004.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a name='more'></a><br />
<br />
<div class="separator" style="clear: both; text-align: left;">
Bien ahora ya estamos en la consola interactiva de Python en donde podemos introducir lineas de código y ver el resultado al instante, un ejemple sencillo de una suma de dos números:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5n3gQbb5CxvcoTeglAy6DFGhR0HUTX00LjWs5MCu2Mn27tpie1KLHsud9qEBJWFMOwpZcGqiCKldBIsVzRlnI3GJ6eWjhPoaczEBkrXbOouztZ2848GUqtvCod6kkzcxV1LdKekbHOA/s1600/mike_hawk@Mike-PC:+~_006.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" id="image_nmike" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5n3gQbb5CxvcoTeglAy6DFGhR0HUTX00LjWs5MCu2Mn27tpie1KLHsud9qEBJWFMOwpZcGqiCKldBIsVzRlnI3GJ6eWjhPoaczEBkrXbOouztZ2848GUqtvCod6kkzcxV1LdKekbHOA/s1600/mike_hawk@Mike-PC:+~_006.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Como pueden ver podría ser útil como calculadora, bueno empezare a describir los tipos de datos por medio de la consola pero en adelante simulare la consola con ">>>" para no poner tantas imágenes e ir mas rápido con los tutoriales.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h3>
<b><span style="color: #3d85c6;">Tipos enteros:</span></b></h3>
Con este tipo de dato podemos hacer operaciones matemáticas como la de arriba.<br />
<br />
<b>Ejemplos:</b>
<script src="https://gist.github.com/MikeWolf90/63729d9ba3daa5a4c32b5e4780786e29.js"></script>
<span style="color: yellow;"><br /></span>
Como ven en los ejemplos eh utilizado algunos de los operadores mas usados en Python que son :<br />
<br />
+ Operador de Sumas<br />
- Operador de Restas<br />
* Operador de Multiplicaciones<br />
/ Operador de Division<br />
// Operador de Division entera<br />
% Operador de Modulo<br />
<br />
Los paréntesis (_) en caso de las operaciones matemáticas sirven para separar las operaciones y decirle al lenguaje que hacer primero.<br />
<br />
Bien, todas estos operadores llevan una jerarquía y es la siguiente:<br />
<br />
Mayor jerarquía 1<br />
Menor jerarquía 4<br />
<br />
<br />
<ol>
<li>() </li>
<li>% </li>
<li>*, /, //</li>
<li>+, -</li>
</ol>
<div>
<br /></div>
<div>
Un ejemplo rápido de la jerarquía:</div>
<div>
<br /></div>
<script src="https://gist.github.com/MikeWolf90/648e6792c0f8ac25bd1eb7189a464e3b.js"></script>
<div>
Bien para que se entienda un poco mejor iré desglosando la operación remarcando la operación activa:</div>
<div>
<ol>
<li>(2+2-2+<b><span style="font-size: large;">(2+2)</span></b>*2+3%2+2/2-2)</li>
<li>(2+2-2+4*2+<b><span style="font-size: large;">3%2</span></b>+2/2-2)</li>
<li>(2+2-2+<b><span style="font-size: large;">4*2</span></b>+1+2/2-2)</li>
<li>(2+2-2+8+1+<b><span style="font-size: large;">2/2</span></b>-2)</li>
<li>(<b><span style="font-size: large;">2+2</span></b>-2+8+1+1-2)</li>
<li>(<b><span style="font-size: large;">4-2</span></b>+8+1+1-2)</li>
<li>(<b><span style="font-size: large;">2+8</span></b>+1+1-2)</li>
<li>(<b><span style="font-size: large;">10+1</span></b>+1-2)</li>
<li>(<b><span style="font-size: large;">11+1</span></b>-2)</li>
<li>(<b><span style="font-size: large;">12-2</span></b>)</li>
<li>(<b>10</b>)</li>
<li>10</li>
</ol>
<div>
En resumen la jerarquía de los signos no solo esta en los operadores sino que también va de izquierda a derecha.<br />
<br />
Para hacer operaciones numéricas existen otros tipos de datos como los complejos que se representan con una "j" enseguida del numero, ejemplo: 4j. También están los tipos flotantes o de coma flotante, ejemplo 4.2354986 y así es como se manejan en Python:<br />
<br />
<script src="https://gist.github.com/MikeWolf90/ad40deffe58afd2a3ec229d43f5e658a.js"></script>
<h3>
<span style="color: #3d85c6;"><b>Ahora pasemos a los datos de tipo string o cadenas de caracteres.</b></span></h3>
</div>
</div>
<div>
Para manejar e imprimir una cadena vasta con utilizar la función <b><span style="font-size: large;">print</span></b></div>
<div>
<br />
<!--hola_mundo.py de GitHub-->
<script src="https://gist.github.com/MikeWolf90/97c819ddd498c4e7293c32f09a8c26b7.js"></script>
<br />
Hemos creado uno de los hola mundo mas rápido<br />
<br />
Bien y por ultimo están los datos del tipo Booleano que se limitan a True y False. </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: left;">Ir a <a href="http://softwarezlive.blogspot.mx/2013/01/tutorial-hawk-3-variables.html">Tutorial Hawk 3 -Variables</a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-46975787872786192842013-01-09T16:40:00.002-08:002013-01-12T14:27:51.069-08:00Tutorial Hawk 1 -preparación de herramientas<h3>
<span style="color: #3d85c6;">Hola a todos en este primer tutorial de Python prepararemos todo lo necesario para comenzar a programar.</span></h3>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Yo estoy utilizando <b><span style="color: orange;">Ubuntu 12.10</span> </b>como sistema operativo y estos son los programas que utilizare en los tutoriales:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Python 2.7 aquí les dejo el <a href="http://www.python.org/download/">link</a> para aquellos que no lo tengan instalado. para aquellos que tienen Ubuntu Python ya debe venir junto con el sistema operativo.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
En estos momentos Python esta en su versión 3..3.0 pero yo he elegido la 2.7 por una razon: Compatibilidad y otra es que en tutoriales mas avanzados realizare tutoriales con un modulo para videojuegos, tal vez hayan escuchado algo de Pygame y la cosa es que es necesario tener la versión 2.7 de Python para realizar .exe o bien las aplicaciones creadas en Python pasarlas a la plataforma de android, pero bueno son libres de usar la versión que mas les agrade.<br />
<a name='more'></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
La intención de utilizar la versión 2.7 es sacarle el mayor provecho a nuestros programas.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Python viene con un editor muy sencillo pero cumple con su tarea, pueden usar ese pero yo utilizare <span style="color: purple;">Eclipse 3.8</span> junto con Pydev.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
</div>
<ul>
<li>Para instalar Eclipse en Ubuntu basta con ir al centro de software de Ubuntu y en la barra de búsqueda poner "Eclipse" e instalar.</li>
</ul>
<br />
<div style="text-align: justify;">
</div>
<ul>
<li>Para Windows les dejo aquí el enlace <a href="http://download.eclipse.org/eclipse/downloads/drops/R-3.8-201206081200/">Eclipse</a></li>
</ul>
<br />
<div style="text-align: justify;">
</div>
<ul>
<li>Bien ahora que ya tenemos instalado eclipse hay que instalar Pydev y para eso ejecutamos eclipse, la primera vez que se ejecute eclipse te pedirá una dirección para guardar todos los proyectos que vayas a crear.</li>
</ul>
<ul>
<li>En la barra de herramientas nos iremos a la pestaña <span style="color: #cc0000;"><b>Help </b></span>ahi seleccionamos la opcion de Install New Software..</li>
</ul>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVa9wIlf6KzscJzX3IEcGhyphenhyphen5ycNcHqEXlaNP1bnFvx1AFnDjnl-d9Jmap801fexAtVVuqh_q3ER0L2IrieStVG0z0ABRROK2qR6Vbf9Bb1ybwo4W2krOoH5LURjF_pgK0zx5Gcd0wuIQ/s1600/PyDev+-+Eclipse+Platform+_001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVa9wIlf6KzscJzX3IEcGhyphenhyphen5ycNcHqEXlaNP1bnFvx1AFnDjnl-d9Jmap801fexAtVVuqh_q3ER0L2IrieStVG0z0ABRROK2qR6Vbf9Bb1ybwo4W2krOoH5LURjF_pgK0zx5Gcd0wuIQ/s1600/PyDev+-+Eclipse+Platform+_001.png" height="345" id="image_nmike" width="640" /></a></div>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHftOYnMzoEwjvJqPyqvoxVAu-XbTW1eXnPk2mTYWAMUWBvPlJI3ZCSx37_1Sh2dZLTe2ry7CrAIM85kYMjivfX2t6FQ_eluIR2cMwawp36APvvCZvi715jLNI_zH1DVmu-5KttQecHA/s1600/Men%C3%BA_002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHftOYnMzoEwjvJqPyqvoxVAu-XbTW1eXnPk2mTYWAMUWBvPlJI3ZCSx37_1Sh2dZLTe2ry7CrAIM85kYMjivfX2t6FQ_eluIR2cMwawp36APvvCZvi715jLNI_zH1DVmu-5KttQecHA/s1600/Men%C3%BA_002.png" height="400" id="image_nmike" width="394" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: justify;">
</div>
<ul>
<li>Entonces se abrirá esta ventana:</li>
</ul>
<br />
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-TTdk7MjvYBKW3YCWGghyphenhyphenRxf6VxkcCK-IoE-T4RhSalJOKqwn13NGi8eWU_oGXnGu3Yc8lWoxuygjHBigK33GABtQ4DmQ_ZEnqcAyJE31FGjM_xRPPr7JK7uTehyWoFVcpkaiEVsQWQ/s1600/Install+_004.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-TTdk7MjvYBKW3YCWGghyphenhyphenRxf6VxkcCK-IoE-T4RhSalJOKqwn13NGi8eWU_oGXnGu3Yc8lWoxuygjHBigK33GABtQ4DmQ_ZEnqcAyJE31FGjM_xRPPr7JK7uTehyWoFVcpkaiEVsQWQ/s1600/Install+_004.png" height="350" id="image_nmike" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ul>
<li>En esta ventana pulsaremos el botón de agregar(Add...) en el primer recuadro pondremos: Pydev y en el segundo pondremos esta dirección: <span style="color: orange;"><a href="http://pydev.org/updates">http://pydev.org/updates</a> </span>y presionamos en ok.</li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglWFxsVvtKRVYFvyb5Ju5ERzCNJSXe0sZScvt6AfmvBGr2eW7WpW1GCgWUGdVnuw35dYuVARdqAASau93hDLLcJvI_mVSBS29nRySatNDrbtGm8ftar_pMq2FFfLa-B0VywFN6juI85Q/s1600/Install+_006.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglWFxsVvtKRVYFvyb5Ju5ERzCNJSXe0sZScvt6AfmvBGr2eW7WpW1GCgWUGdVnuw35dYuVARdqAASau93hDLLcJvI_mVSBS29nRySatNDrbtGm8ftar_pMq2FFfLa-B0VywFN6juI85Q/s1600/Install+_006.png" height="350" id="image_nmike" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ul>
<li>Ahora estaremos en esta ventana:</li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp_ddnM6nEwrrIMRf-o2pOJ_UHAwM6c_KLXRm8smAuNSEV3g4tPrefKeSpMiixlS9TcjWtzSkj2MyoQiXkznK5mxgcz4p9R1hyCa7QRn153nRBHiMzG7PRiPsn_8z32LQ6hEembWYM_A/s1600/Install+_017.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp_ddnM6nEwrrIMRf-o2pOJ_UHAwM6c_KLXRm8smAuNSEV3g4tPrefKeSpMiixlS9TcjWtzSkj2MyoQiXkznK5mxgcz4p9R1hyCa7QRn153nRBHiMzG7PRiPsn_8z32LQ6hEembWYM_A/s1600/Install+_017.png" height="556" id="image_nmike" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ul>
<li>Seleccionamos la opción de Pydev y presionan el botón de Next y se comenzara a instalar todo lo necesario para utilizar Eclipse con Python.</li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: left;">
</div>
<ul>
<li>Una vez terminado el proceso debemos reiniciar eclipse para que pueda aplicar los cambios.</li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: left;">
</div>
<ul>
<li>Vamos a la pestaña de <span style="color: #cc0000;"><b>Window/Open Perspective/Other... </b></span></li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCKXICbXGvg1wU9le49YvoCjBo9srB7AzRR2XMGpOeJQUhssWFXbbU0_DjlRO6WwryQduYpxMpv0ElUIp__CBpakrlcl8Irfawwgx-qG2nq0S1acE0jKJy3WQw9x_EsLr8KlFlgPXmIw/s1600/Men%C3%BA_008.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCKXICbXGvg1wU9le49YvoCjBo9srB7AzRR2XMGpOeJQUhssWFXbbU0_DjlRO6WwryQduYpxMpv0ElUIp__CBpakrlcl8Irfawwgx-qG2nq0S1acE0jKJy3WQw9x_EsLr8KlFlgPXmIw/s1600/Men%C3%BA_008.png" height="320" id="image_nmike" width="297" /></a></div>
<div>
<ul>
<li>Entonces nos saldrá esto: </li>
</ul>
</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglpME3YBbk9hgRgNOTTSKNYfN5PTZq3VGh7ONGrptYKg5GAgiDpBgKHMrY9_6XehTa2HqUj43lcfjLrCqRKQJ3zfe7ICTsWXL4HE4cTFLMOHxV4V9rkUvNEK7E5zzow-qYFcdD-SMhwQ/s1600/Open+Perspective+_010.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglpME3YBbk9hgRgNOTTSKNYfN5PTZq3VGh7ONGrptYKg5GAgiDpBgKHMrY9_6XehTa2HqUj43lcfjLrCqRKQJ3zfe7ICTsWXL4HE4cTFLMOHxV4V9rkUvNEK7E5zzow-qYFcdD-SMhwQ/s1600/Open+Perspective+_010.png" height="320" id="image_nmike" width="268" /></a></div>
<div>
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
</div>
<ul>
<li>Seleccionamos PyDev presionamos ok y ya estamos listos para empezar a trabajar.</li>
</ul>
<div>
<br /></div>
<div>
<span style="color: #3d85c6; font-size: large;"><b>Listo! ya tenemos todo lo necesario para trabajar.</b></span></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-26863240850219349262013-01-09T02:19:00.001-08:002018-02-03T15:24:16.732-08:00Historia de Python<div style="text-align: justify;">
Python fue creado a finales de los anos ochenta por Gido van Rossum, en 1991 van Rossum publico el código de la versión 0.9.0, en 1994 llego a su versión 1.0 y bien con el tiempo van Rossum fue mejorando el código de Python con diferentes empresas hasta llegar a lo que es hoy en día, uno de los mejores lenguajes de programación gracias a su limpieza en el código (razón por la cual lo elegí para empezar a crear tutoriales).</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
El nombre que recibe este lenguaje de programación viene de un programa de televisión creado a finales de los anos 60, se trataba de una comedia llamada El Circo Ambulante de los Monty Python (Monty Python's Flying Circus) y como cabe esperar van Rossum era aficionado de esta serie cómica y fue por esa razón que bautizo el lenguaje como Python</div>
</div>
<div>
<span style="background-color: white;"><span style="font-family: sans-serif;"><span style="font-size: 12.666666984558105px; line-height: 19.19999885559082px;"><br /></span></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj5yX5HkvXO8QvhtIJ8qMC1xm70jrd5hbv9RhAg3Vsfism7haAqY9AnzqhsJgwA1dtAo-ojSTdce-Jx_wNzDdqKRYwZZMyzBOZvG-w_QIp3H8cTUKINwleuPGl_58M_oaHLmt_8iBFj8AX/s1600/m.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" id="image_nmike" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj5yX5HkvXO8QvhtIJ8qMC1xm70jrd5hbv9RhAg3Vsfism7haAqY9AnzqhsJgwA1dtAo-ojSTdce-Jx_wNzDdqKRYwZZMyzBOZvG-w_QIp3H8cTUKINwleuPGl_58M_oaHLmt_8iBFj8AX/s1600/m.jpg" width="259" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a name='more'></a><br />
<div>
<br /></div>
<div>
<div>
<a href="http://es.wikipedia.org/wiki/Python" target="_blank">Historia más completa</a> </div>
<div>
<div>
<br /></div>
<div>
<div>
<div style="text-align: justify;">
<span style="color: #3d85c6;"><b>Bien ahora vamos con algo más interesante.</b></span></div>
</div>
</div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Python es uno de los los lenguajes mas limpios ya que su filosofía se basa en una sintaxis limpia favoreciendo así a un código muy fácil de leer.</div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Otra de las características de Python es que es un <b>lenguaje interpretado</b>, eso quiere decir que esta diseñado para ser ejecutado en un interprete, en otras palabras un interprete en programación es un programa que lee código en un lenguaje de alto nivel (muy parecido al de nosotros los humanos) y se ejecuta al momento de requerirlo, transformando el código de alto nivel a código maquina (el que entiende la computadora) en este proceso el lenguaje interpretado no guarda el resultado de las lineas interpretadas al contrario del <b>lenguaje compilado</b> que lo que hace es leer todo el código en una ejecución y guarda el resultado, ese proceso solo se hace una vez y cuando se ejecuta de nuevo el código no tiene que volver compilarlo. En cambio el interpretado lee linea por linea en cada ejecución pero es mas rápido que el lenguaje compilado.</div>
</div>
<div>
<div style="text-align: justify;">
<b><br /></b></div>
</div>
<div>
<div style="text-align: justify;">
<span style="color: #3d85c6;"><b>Esta es una de mis favoritas:</b></span></div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Pues resulta que Python es multiparadigma, lo que significa que no estamos atados a programar con un estilo en particular sino que podemos adoptar el estilo que mas se nos acomode al momento de crear nuestros programas.</div>
</div>
<div>
<br /></div>
<div>
<b><span style="color: #3d85c6;">Estilos de programacion de Python</span></b></div>
<div>
<ul>
<li><a href="http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos" target="_blank">Orientado a objetos</a></li>
<li><a href="http://es.wikipedia.org/wiki/Programaci%C3%B3n_imperativa" target="_blank">Imperativa</a></li>
<li><a href="http://es.wikipedia.org/wiki/Programaci%C3%B3n_funcional" target="_blank">Funcional</a></li>
</ul>
<div>
<b><span style="color: #3d85c6;">Y para ya terminar con este rollo que seguro ya mareo a muchos les dejo la filosofía de Python:</span></b></div>
<div>
<br /></div>
<div>
<span style="color: #6fa8dc; font-size: x-small;"><b>El Zen de Python, por Tim Peters</b></span></div>
</div>
<div>
<div>
<ul>
<li>Hermoso es mejor que feo.</li>
<li>Explícito es mejor que implícito.</li>
<li>Simple es mejor que complejo.</li>
<li>Complejo es mejor que complicado.</li>
<li>Plano es mejor que anidado.</li>
<li>Escaso es mejor que denso.</li>
<li>Cuenta la legibilidad.</li>
<li>Los casos especiales no son lo suficientemente especial como para romper las reglas.</li>
<li>Aunque practicidad late pureza.</li>
<li>Los errores nunca debe pasar en silencio.</li>
<li>A menos que explícitamente silenciados.</li>
<li>Ante la ambigüedad, rechaza la tentación de adivinar.</li>
<li>Debería haber una - y preferiblemente sólo una - manera obvia de hacerlo.</li>
<li>Aunque esa manera puede no ser obvia al principio a menos que seas holandés.</li>
<li>Ahora es mejor que nunca.</li>
<li>Aunque nunca es a menudo mejor que la * derecha * ahora.</li>
<li>Si la implementación es difícil de explicar, es una mala idea.</li>
<li>Si la implementación es fácil de explicar, puede ser una buena idea.</li>
<li>Los espacios de nombres son una gran idea bocinazos - Vamos a hacer más de esos!</li>
</ul>
</div>
</div>
<div>
<br /></div>
<div>
<div style="text-align: justify;">
<span style="color: #3d85c6; font-size: large;"><b>Nota:</b> </span>La filosofía Python esta traducida con <span style="font-size: large;"><b>G</b></span><b><span style="font-size: large;">oogle</span></b>, en un tutorial a futuro les mostrare como poder sacar esa información del mismísimo Python.</div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Saludos y espero que les aya servido de algo a algunos.</div>
</div>
<div>
<br /></div>
<div>
<br /></div>
</div>
Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-36262124063087938272013-01-08T22:07:00.002-08:002013-01-12T03:51:35.116-08:00Iniciando en pythonHola mi nombre es Miguel Angel pero desde ahora pondre Mike Hawk, bien pues antes de empezar con los tutoriales de python me gustaría meterme un poco en la historia de python y en sí lo que es el lenguaje de python.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZZb3GzYzWleg0UT5SU88c0_YQo0MQYQA54kpLoHT1tnbMf0vfDwlrRwRW56IIFQJLPhLpT-ZBnTcEjir6_0v-YN05EGOTljA2YTxoPTmp4ncNUf2Re4NaB9x-sXfiz4Qv97dKad7szQ/s1600/logotrasparente.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" id="image_nmike" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZZb3GzYzWleg0UT5SU88c0_YQo0MQYQA54kpLoHT1tnbMf0vfDwlrRwRW56IIFQJLPhLpT-ZBnTcEjir6_0v-YN05EGOTljA2YTxoPTmp4ncNUf2Re4NaB9x-sXfiz4Qv97dKad7szQ/s1600/logotrasparente.png" height="200" width="200" /></a></div>
<br />
<br />
<b><span style="color: #3d85c6;">Sin mas, les dejo el enlace: </span></b><a href="http://softwarezlive.blogspot.mx/2013/01/historia-de-python.html">Introducción a Python</a>Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com0tag:blogger.com,1999:blog-3799337093322751324.post-61826844367458701382013-01-08T20:49:00.001-08:002018-02-03T15:23:10.864-08:00Python como lenguaje de aprendizaje.<div style="text-align: justify;">
Hola mi nombre es Miguel Angel Gonzalez Cota y soy estudiante universitario, actualmente estoy estudiando para Lic. En Ciencias Computacionales en UABC Ensenada B. C. la intención con la que empiezo esta pagina es crecer en conocimiento y compartir con ustedes lo que yo se, pretendo empezar por lo mas básico en programación y he elegido a Python ya que es muy fácil de entender y de utilizar, a decir verdad es el lenguaje que mas domino y por tanto es el que mas me gusta.<br />
<br />
Para aclarar: Los tutoriales son para principiantes, y para aquellos que apenas empiezan en el mundo tan bello de la programación.<br />
<br />
Bueno en este espacio espero poder facilitarles una fuente de información y tutoriales fáciles, lo más básico como conceptos de variables o las constantes, hasta algo de nivel intermedio como clases y funciones.<span style="color: white;">que</span><br />
<span style="color: white;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdkVBedza797Q3Ft6UCHqIJ5FFD7EcBUx2aZTt4aN6SejULspEygrd0MYbmxH4xO18jJEi9YfgMVq5CgxbPk-O0Hzq3EfmKcCo_UpuSsArM2pm4VT0EOz9IPMZp6FSE-OzYs0q0CA9SQ/s1600/LogoTutorialesHawk.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" id="image_nmike" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdkVBedza797Q3Ft6UCHqIJ5FFD7EcBUx2aZTt4aN6SejULspEygrd0MYbmxH4xO18jJEi9YfgMVq5CgxbPk-O0Hzq3EfmKcCo_UpuSsArM2pm4VT0EOz9IPMZp6FSE-OzYs0q0CA9SQ/s1600/LogoTutorialesHawk.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixDG-AZY8wHVH4oAse7DJepMFLNL6JaaNRKDovWlslYemSdRe9Fxv7h-LF3CAAd0W9XvUPfQCRInwOYY2JacLhllRY6Di_vjeltNOfAgnP6MO34tpJtapf2qslEwWf-_pLJia6acKJGg/s1600/553502_368662986551876_1330565348_n.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="480" id="image_nmike" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixDG-AZY8wHVH4oAse7DJepMFLNL6JaaNRKDovWlslYemSdRe9Fxv7h-LF3CAAd0W9XvUPfQCRInwOYY2JacLhllRY6Di_vjeltNOfAgnP6MO34tpJtapf2qslEwWf-_pLJia6acKJGg/s1600/553502_368662986551876_1330565348_n.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Semana de Ciencias UABC Presentando mi proyecto de Pygame <a href="http://softwarezlive.blogspot.mx/p/pygame.html"><span style="color: #674ea7; font-size: small;">Camelot Defenders</span></a></td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<span style="color: white;"> son las variables o las constantes hasta algo de nivel intermedio.</span></div>
Miguel Gonzalezhttp://www.blogger.com/profile/04758535583300486845noreply@blogger.com1