Archivo de la etiqueta: Windows

Solución al ejercicio de programas ejecutables y línea de comandos

La semana pasada planteaba un problema partiendo del siguiente programa:

#!/usr/bin/python3
import sys

# usuario = "lector de PItando"
usuario = sys.argv[1]
print("Hola, ", usuario)

exit(0)

El ejercicio decía así:

Modifica el programa para que funcione de la siguiente forma:

  1. Si su primer argumento es “?” imprima un mensaje para ayudarnos a usarlo, en el que salga el nombre del programa ejecutable (para lo que tendrás que usar la variable sys.argv).
  2. Si no se especifica ningún argumento, debe saludar al lector (“Hola, lector“).Para detectar la longitud de una lista, usa la función len(lista).
  3. También haz que junte todos los argumentos en el mensaje de saludo. Para eso, ten en cuenta que en Python podemos juntar varias cadenas en una sola “sumándolas”:
cadena = "Hola" + ", Mundo"
# Cadena tendrá como valor "Hola, Mundo"

Vamos con la solución.

Sigue leyendo Solución al ejercicio de programas ejecutables y línea de comandos

Soluciones a los ejercicios de bucles y condiciones

La semana pasada teníamos 2 ejercicios que resolver. Aquí van las soluciones.

1) Escribe un programa en IDLE que escriba aquellos números entre 1 y 100 que:

  • Sean pares
  • No sean múltiplos de 4
  • Tampoco sean múltiplos de 3.

Escríbelo dos veces: una con un bucle while y otra usando un bucle for.

Voy a empezar explicando la condición que indica si un número se debe escribir, o no. Si la leemos en castellano, deberíamos decir:

Si el resto de dividir el número entre 2 es 0, pero no se cumple que el resto de dividir el número entre 3 sea 0, ni entre 4, imprimirlo.

Dicho en “términos lógicos” usando los operadores de la semana pasada, diríamos que la condición a evaluar es:

numero % 2 == 0 and numero % 3 != 0 and numero % 4 != 0

También podemos escribirla de una forma alternativa si pensamos que debemos imprimirlo si no se cumple que numero % 3 == 0 ó numero % 4 == 0:

numero % 2 == 0 and not (numero % 3 == 0 or numero % 4 ==0)

Usa la que veas más clara; a medida que practiques cogerás soltura con estas alternativas y esta forma de escribir las condiciones lógica. Yo usaré la segunda.

Bucle while (es posible que te tengas que desplazar a la derecha para verlo todo):

numero = 1
while numero < 100:
    if numero % 2 == 0 and not (numero % 3 == 0 or numero % 4 == 0):
        print(numero)
    numero = numero + 1

Bucle for (es posible que te tengas que desplazar a la derecha para verlo todo):

del1al100 = range (1, 101)
for numero in del1al100:
    if numero % 2 == 0 and not (numero % 3 == 0 or numero % 4 == 0):
        print(numero)

En ambos casos la respuesta debe ser la siguiente:

Captura 20150628 - 5

2) Usando for, haz que Python escriba todas las tablas de multiplicar, del 1 al 10:

La solución a este problema consiste en anidar bucles: hacer un bucle dentro de otro. Así (es posible que te tengas que desplazar a la derecha para verlo todo):

for multiplicador in range (1, 11):
    print("Tabla de multiplicar del", multiplicador)
    for multiplicando in range (1, 11):
        print(multiplicando, "*", multiplicador, "=", multiplicando*multiplicador)
    print("==========================")
    print() # línea en blanco.

En este caso he incluido tres de sentencias para formatear un poco el resultado y que quede más legible, y he usado directamente la llamada a range(...) en las condiciones de los bucles.

También habría podido usar un caracter especial,\n, al final del print("=========================="), así: print("==========================\n"). Ese caracter hace que se imprima una línea en blanco, haciendo innecesaria la sentencia print(). Cualquiera de las dos opciones acabaría dejando la salida así (no la reproduzco toda):

Captura de pantalla 2015-07-05 17.14.04

Y esto es todo. Si hay algo que no entiendas, no dudes en dejar un comentario o contactar a través del formulario exponiendo cualquier duda.

Escribir programas ejecutables en Python. La línea de comandos.

Hasta ahora hemos hecho todos nuestros experimentos usando directamente IDLE, el entorno de programación propio de Python. Hemos visto una serie de conceptos básicos para comenzar a entender el lenguaje, y ya estaríamos en condición de escribir nuestros propios programas, es decir: más allá de probar sentencias en IDLE, escribir los programas en un fichero para ejecutarlos directamente desde el sistema operativo.

En esta entrada vamos a ver dos cosas: cómo se escribe un programa en Python de una forma que luego sea posible usarla, y por otro lado, una de las muchas formas en las que nuestros programas pueden recibir datos con los que trabajar y con la que realmente ya estamos familiarizados gracias al artículo sobre el terminal: la línea de comandos. De paso, entraremos en contacto con la inclusión de funcionalidad ya existente en nuestros programas: las librerías y cómo incluirlas.

Sigue leyendo Escribir programas ejecutables en Python. La línea de comandos.

Instalar Python en Windows y en Mac OS X

Lo que viene inmediatamente después de anunciar algo es cumplirlo: hace unas horas anunciaba que iba a escribir lo necesario para que pudieseis seguir la mayoría de los artículos de PItando desde un PC o un Mac, y ahora toca hacerlo.

Así que, sin más preámbulos…

Sigue leyendo Instalar Python en Windows y en Mac OS X

PItando para todos: también Windows y Mac OS

He tenido varias conversaciones acerca del blog y de la realidad de que muchos de los artículos que veremos aquí pueden ponerse en práctica sobre un ordenador cualquiera. A raíz de ellas he decidido “abarcar” más plataformas que la Raspberry Pi, aunque este blog seguirá girando alrededor de ella principalmente.

Python, Sonic Pi y la mayoría de herramientas de programación que incorpora la Raspberry están (lógicamente) disponibles para más plataformas que Linux, por lo que con muy poco esfuerzo este blog puede extenderse a todo aquél que quiera aprender a programar con el blog. En las próximas semanas escribiré una serie muy cortita sobre la búsqueda, instalación y configuración de estas herramientas en un PC con Windows y en un Mac, para que todo aquél que quiera pueda engancharse a las series de Python, en un principio, y a otras herramientas como Scratch o Sonic Pi más adelante.

Teniendo en cuenta que el sistema operativo de la Raspberry es un Linux derivado de la distribución Debian, y que además OS X es muy similar en muchos temas a un sistema Linux, creo que con esos artículos es fácil hacer que PItando cubra todas las posibilidades.

PItando para todos. ¡Espero que os guste esta decisión!