Está en la página 1de 39

Código ASCII (0-127).

Tabla de carácteres ASCII en decimal y hexadecimal.

El código ASCII (Código Americano Estándar para el Intercambio de Información) es una representación numérica de
carácteres imprimibles y de control, que permite la comunicación y el almacenamiento de textos y otros datos alfanuméricos.

Carácteres no imprimibles Carácteres imprimibles

Nombre  Dec  Hex  Car. Dec  Hex  Car. Dec  Hex  Car. Dec  Hex  Car.

Nulo 0 00 NUL 32 20 Espacio 64 40 @  96 60 ` 

Inicio de cabecera 1 01 SOH 33 21 !  65 41 A  97 61 a 

Inicio de texto 2 02 STX 34 22 "  66 42 B  98 62 b 

Fin de texto 3 03 ETX 35 23 #  67 43 C  99 63 c 

Fin de transmisión 4 04 EOT 36 24 $  68 44 D  100 64 d 

enquiry 5 05 ENQ 37 25 %  69 45 E  101 65 e 

acknowledge 6 06 ACK 38 26 &  70 46 F  102 66 f 

Campanilla (beep) 7 07 BEL 39 27 '  71 47 G  103 67 g 

backspace 8 08 BS 40 28 (  72 48 H  104 68 h 

Tabulador horizontal 9 09 HT 41 29 )  73 49 I  105 69 i 

Salto de línea 10 0A LF 42 2A *  74 4A J  106 6A j 

Tabulador vertical 11 0B VT 43 2B +  75 4B K  107 6B k 

Salto de página 12 0C FF 44 2C ,  76 4C L  108 6C l 

Retorno de carro 13 0D CR 45 2D -  77 4D M  109 6D m 

Shift fuera 14 0E SO 46 2E .  78 4E N  110 6E n 


 
Shift dentro 15 0F SI 47 2F /    79 4F O    111 6F o 

Escape línea de datos 16 10 DLE 48 30 0  80 50 P  112 70 p 

Control dispositivo 1 17 11 DC1 49 31 1  81 51 Q  113 71 q 

Control dispositivo 2 18 12 DC2 50 32 2  82 52 R  114 72 r 

Control dispositivo 3 19 13 DC3 51 33 3  83 53 S  115 73 s 

Control dispositivo 4 20 14 DC4 52 34 4  84 54 T  116 74 t 

neg acknowledge 21 15 NAK 53 35 5  85 55 U  117 75 u 

Sincronismo 22 16 SYN 54 36 6  86 56 V  118 76 v 

Fin bloque transmitido 23 17 ETB 55 37 7  87 57 W  119 77 w 

Cancelar 24 18 CAN 56 38 8  88 58 X  120 78 x 

Fin medio 25 19 EM 57 39 9  89 59 Y  121 79 y 

Sustituto 26 1A SUB 58 3A :  90 5A Z  122 7A z 

Escape 27 1B ESC 59 3B ;  91 5B [  123 7B { 

Separador archivos 28 1C FS 60 3C <  92 5C \  124 7C | 

Separador grupos 29 1D GS 61 3D =  93 5D ]  125 7D } 

Separador registros 30 1E RS 62 3E >  94 5E ^  126 7E ~ 

Separador unidades 31 1F US 63 3F ?  95 5F _  127 7F DEL 


Proyectos para niveles Junior
Aquí hay algunos proyectos para principiantes en los que podremos
trabajar:

1. Par o impar
2. Juego Mad Libs
3. Contador de palabras
4. Información de la biografía
5. ¿Cuál es el acrónimo?
6. Piedra, Papel y tijera
7. Adivina el número
8. ¿Es palíndromo?
9. Calculador de propinas
10. Extractor de correos electrónicos
11. Generador de letras
Par o impar
Lo primero que vamos a realizar es dar la bienvenida preguntando un
número entre 1 y 1000

Cuando el usuario proporciona el número, comprobaremos si es par o


impar y después imprimimos el mensaje con el resultado.

Ejemplo:

 Mensaje que se muestra: ¿En qué número estás pensando?


 Entrada: 25
 Salida: ¡Es un número impar! ¿Puedes añadir otro?
Juego del Mad Lib
Pedimos al usuario que introduzca varias entradas con varias preguntas.
Puede ser cualquier cosa, como un nombre, un adjetivo, un pronombre o
incluso una acción. Una vez que se obtiene la entrada, se puede
reorganizar para construir su propia historia.

 Aquí un tutorial de Youtube para construir el juego con Python .


 Ejemplo en código disponible en Github.
Contador de palabras
Preguntamos al usuario en que está pensando. Cuando se introduce la
respuesta, realizará el conteo de palabras en la sentencia e imprimimos en
la salida el resultado.

Ejemplo:

 Pregunta: ¿En qué estás pensando?


 Entrada: Bien, hoy es el día en el que me voy a crear un
desarrollador experto
 Salida: ¡Muy bien, tu me has mostrado tu pensamiento en 15
palabras!
Para llevar esto a cabo, vamos a crear un fichero de texto y añadimos una
unas frases, y contamos cuántas palabras tiene y lo imprimimos.

Aquí tenéis código fuente en Github.


Información de la biografía
Pregunte a un usuario su información personal en una sola ronda de
preguntas. Luego hay que verificar que la información que se ha ingresado
sea válida. Finalmente, se imprime un resumen de toda la información que
ha sido ingresada.

Por ejemplo: ¿Cuál es su nombre? Si el usuario ingresa *, hay que indicar


que la entrada es incorrecta y se pide que se ingrese correctamente un
nombre válido.
Cuando se introduce todo correctamente, se muestra un resumen como el
que aparece a continuación:

- Nombre: John Doe


- Fecha de nacimiento: Jan 1, 1954
- Dirección: 24 fifth Ave, NY
- Metas personales: To be the best programmer there ever was.

¿Cuál es mi acrónimo?
Vamos a pedir al usuario que ingrese el significado completo de una
organización o concepto y con ello como resultado obtendremos el
acrónimo. Por ejemplo:

 Entrada -> As Soon As Possible. Salida -> ASAP.


 Entrada -> World Health Organization. Salida -> WHO.
 Entrada -> Absent Without Leave. Salida -> AWOL.
Rock, Paper, Tijeras
Es un popular juego para dos jugadores. Cualquier jugador puede ejecutar
una jugada con sus manos con estas opciones que tenemos disponible  a
continuación:

 piedra (puñocerrado)
 papel (mano plana)
 tijeras (un puño con el dedo índice y el dedo medio extendidos, formando
una V)
Aquí tenéis disponible un video de youtube donde se crea este juego en
Python.
Adivina el número oculto
Debemos de preguntar al usuario un número entre 1 y 50.

Si añaden un número fuera de ese rango, vamos a indicar con un error que
anime a elegir un número dentro del rango adecuado..

Si no acertamos el número oculto, preguntaremos al usuario si queremos


seguir jugando, introduciendo un nuevo número o queremos dejar de
jugar.

Finalmente, cuando el usuario acierta correctamente el número oculto,


mostramos un mensaje de enhorabuena y mostramos el número de
intentos que hemos utilizado para llegar a esta situación.
A continuación os dejo el enlace a este video en Youtube de como crear un
programa en Python con la mecánica de este juego.
Es palíndromo
Animamos a los usuarios a introducir cinco palabras. Después
comprobamos cuáles son palabras palíndromas o no.

¿Qué es un palíndromo? Es una palabra que podemos leer de la misma


manera desde la izquierda a la derecha y viceversa.

Ejemplo:

 madam es palíndromo.
 También lo es malayalam.
 En el caso de  geeks no lo es.
Aquí tenéis disponible el código de ejemplo en Github.
Calculador de propinas
En este caso, nuestro objetivo es averiguar exactamente la cantidad de
propina que hay que proporcionar después de un servicio. En este caso,
hay que solicitar la factura total. Con esto, aplicaremos la propina para el
18%, 20% y 25%.

Ejemplo:

 Mensaje inicial: ¿Cuál es la factura total de hoy, por favor?


 Entrada: $55.87
 Salida: La propina aplicando el 18% is $10.06, que contabiliza un
total de $65.93
Recordemos que queremos ser amable, por lo que no olvidemos
redondear. Para impulsar esta funcionalidad, vamos a preguntar por la
cantidad de personas involucradas, para dividir la propina de manera
equitativa y el coste total entre esas personas.

Por darle otro punto de vista, prueba a añadir dividiendo de manera


desigual, para poner en práctica estos aspectos (por ejemplo, una persona
paga el 70% de la factura mientras que la otra paga el 30%).
Extractor de información del correo electrónico
Recopile una dirección de correo electrónico del usuario y luego averigüe
si el usuario tiene un nombre de dominio personalizado o un nombre de
dominio popular. Por ejemplo

Recopilamos una dirección de correo electrónico del usuario y luego


vamos a averiguar si ese email tiene nombre de dominio personalizado o
un nombre de un dominio popular. Por ejemplo:

 Entrada: mary.jane@gmail.com
 Salida: Hola Mary, estoy viendo que tu email está registrado con
Google. ¡Eso es genial!.
 Entrada: peter.pan@myfantasy.com
 Salida: Hola Peter, estoy observando que estás utilizando un
dominio personalizado de myfantasy. ¡Impresionante!.
Este es un proyecto de Python que tiene mucho uso en el futuro. El
programa le ayuda a obtener el nombre de usuario y el nombre de dominio
de una dirección de correo electrónico.
Podemos ampliar esto más, donde podemos personalizar la aplicación y
enviar un mensaje al anfitrión con esta afirmación.

A continuación el tutorial en Youtube y el código de ejemplo en Github.


Generador de letras
Pedimos a un usuario que elija una canción de una lista de 10 canciones.
Cuando el usuario lo hace, imprime la letra de la canción que seleccionó.

Por ejemplo:

Bienvenido, por favor, selecciona una canción de este top de 10 canciones:

1. Baby by Bieber
2. Hotline Bling by Drake
3. Flawless by Beyonce
4. Fall by Eminem...
Has seleccionado "Flawless by Beyonce". Te mostramos la letra a continuación:
------- Flawless by Beyonce ------------
I'm out that H, town coming coming down
I'm coming down, drippin' candy on the ground
H, Town, Town, I'm coming down, coming down
Drippin' candy on the ground...

Pulsa * para hacer una nuva selección.


Para llevarlo más lejos, y darle más complejidad, tenga al menos 3
canciones del mismo artista.
A continuación, pide al usuario que ponga el nombre del artista para que
pueda mostrarle solo las opciones de ese artista. Luego, el usuario puede
seleccionar una canción específica de esa lista.

Para finalizar
Al trabajar en estos proyectos, es posible que se te encuentres con algún
obstáculo y que te desanimes. Está bien. Lo superarás.

Tenlo presente, tómate un descanso y vuelve a hacerlo más tarde. También


puede leer estas historias de desarrolladores de todo tipo de orígenes que lo
lograron para motivarse y seguir adelante.
El desarrollo de software es un campo desafiante. Eso si, con esfuerzo, con
muchas recompensas.
Si tantos otros lo han hecho, tú también puedes hacerlo.
#! /
usr /
bin /
env
pytho
n
# - * - codificación: utf-8 - * -

'' '
De la galería de productos, el usuario introducirá el código
y el número de unidades del producto que desea comprar.
El programa determinará el total a pagar, como una factura.
Una variante a este ejercicio que lo haría un poco más complejo
sería dar la posibilidad de seguir ingresando diferentes códigos de
productos con sus respectivas cantidades, y cuando el usuario desee
terminar el cálculo de la factura completa con todas sus compras. Te
animas ??
'' '

print ( "Elija el producto deseado:" )


print ( "Producto \ t \ t \ t Código" )
print ( "Camisa \ t \ t \ t \ t 1" )
print ( "Pantalon \ t \ t \ t 2" )
print ( "Falda \ t \ t \ t \ t 3" )

cuenta = []
precios = [ 100 , 120 , 100 ]

comprando = 0
mientras comprando == 0 :

codigo = input ( "Ingrese el código del articulo:" )


cantidad = input ( "Ingresa la cantidad de articulos:" )
cuenta . append (( precios [ codigo - 1 ]) * cantidad )
comprando = input ( "Para agregar otro articulo 0 para salir 1:" )

precio_total = 0

para precios en cuenta :


precio_total = precio_total + precios
print ( "El precio total a pagar es de" + str ( precio_total ))
#! /
usr /
bin /
env
pytho
n
# - * - codificación: utf-8 - * -

'' '
Escriba una función es_bisiesto ()
que determine si un año determinado
es un año bisiesto.
es divisible por 4, pero no por 100.
'' '

def es_bisiesto ( ano ):


si ano % 4 == 0 :
si ano % 100 ! = 0 :
print ( "Es bisiesto" )
otra cosa :
print ( "No es bisiesto" )

ano = input ( "Escriba un año para saber si es


bisiesto:" )
es_bisiesto ( ano )

 © 2021 GitHub, Inc.


 Condiciones
 Intimidad
#! /
usr /
bin /
env
pytho
n
# - * - codificación: utf-8 - * -

'' '
Definir una lista con un conjunto de nombres,
imprimir la cantidad de comienzo con la letra a.
También se puede hacer elegir al usuario la letra a buscar. (Un poco mas
emocionante)
'' '

nombres = []
para x en xrange ( 1 , 10 ):
nombres . append ( raw_input ( "Escribe un nombre:" ). lower ())

letra_buscada = raw_input ( "¿Qué letra buscas ?:" )


cantidad = 0

para nombre en nombres :


para letra en nombre :
if letra == letra_buscada :
cantidad = cantidad + 1
rotura
otra cosa :
cantidad = cantidad
imprimir cantidad
#! /
usr /
bin /
env
pytho
n
# - * - codificación: utf-8 - * -

'' '
Escribir un pequeño programa donde:
- Se ingresa el año en curso.
- Se ingresa el nombre y el año de nacimiento de tres
personas.
- Se calcula cuántos años cumplirán durante el año en curso.
- Se imprime en pantalla.
'' '

ano_curso = input ( "Escribe el ano en curso:" )


nombre_uno = raw_input ( "Primer nombre:" )
ano_uno = input ( "Primer ano:" )
nombre_dos = raw_input ( "Segundo nombre:" )
ano_dos = input ( "Segundo ano:" )
nombre_tres = raw_input ( "Tercer nombre:" )
ano_tres = input ( "Tercer ano:" )

cumple_uno = ano_curso - ano_uno


cumple_dos = ano_curso - ano_dos
cumple_tres = ano_curso - ano_tres

print ( nombre_uno + "cumplira" + str ( cumple_uno ))


print ( nombre_dos + "cumplira" + str ( cumple_dos ))
print ( nombre_tres + "cumplira" + str ( cumple_tres ))
#! /
usr /
bin /
env
pytho
n
# - * - codificación: utf-8 - * -

'' '
Crear una función contar_vocales (),
que reciben una palabra y cuente
cuantas letras "a" tiene, cuantas letras "e" tiene
y así hasta completar todas las vocales.
Se puede hacer que el usuario sea quien elija la palabra.
'' '

def contar_vocales ( palabra ):


palabra_min = palabra . inferior ()
cant_a = 0
cant_e = 0
cant_i = 0
cant_o = 0
cant_u = 0

para letra en palabra_min :


if letra == "a" :
cant_a = cant_a + 1
elif letra == "e" :
cant_e = cant_e + 1
elif letra == "i" :
cant_i = cant_i + 1
elif letra == "o" :
cant_o = cant_o + 1
elif letra == "u" :
cant_u = cant_u + 1

print ( "Hay" + str ( cant_a ) + "a" )


print ( "Hay" + str ( cant_e ) + "e" )
imprimir ( "Hay" + str ( cant_i ) + "i" )
print ( "Hay" + str ( cant_o ) + "o" )
print ( "Hay" + str ( cant_u ) + "u" )
palabra = raw_input ( "Escribe una palabra:" )
contar_vocales ( palabra )
#! /
usr /
bin /
env
pytho
n
# - * - codificación: utf-8 - * -

'' '
Escribir un programa que le diga al
usuario que ingrese una cadena.
El programa tiene que evaluar la cadena
y decir cuantas letras mayúsculas tiene.
'' '
frase = "Hola Como Estas Jonatan"
cantidad = 0

para letra en frase :


letrita = letra . inferior ()
si letra == letrita :
cantidad = cantidad
otra cosa :
cantidad = cantidad + 1
imprimir cantidad
#! /
usr /
bin /
env
pytho
n
# - * - codificación: utf-8 - * -

'' '
Este programa pide primeramente la cantidad total de compras de una persona.
Si la cantidad es inferior a 100.00, elprogramadiráqueelclientenoaplicaalapromoción.
Pero si la persona ingresa una cantidad en compras igual o superior a 100.00,
el programa genera de forma aleatoria un número entero del cero al cinco.
Cada número corresponde a un color diferente de cinco colores de bolas
que hay para determinar el descuento que el cliente recibe como premio.

Si la bola aleatoria es color blanco, no hay descuento, pero si es uno de


los otros cuatro colores, sí se aplicará un descuento determinado
según la tabla que aparece, y ese descuento se aplicará sobre el total de
compra que introdujo anteriormente el usuario, de manera que el programa muestra
un nuevo valor a pagar luego de haber aplicado el descuento.
'' '

importar al azar
x = 0
mientras que x == 0 :

cantidad_compra = input ( "Ingresar la cantidad total de la compra:" )


si cantidad_compra > = 100 :

descuentos = [ 1 , .9 , .8 , .75 , .5 ]
descuento = descuentos [ aleatorio . randint ( 0 , 4 )]
nuevo_precio = cantidad_compra * descuento
print ( "Tienes un descuento de" + str ( 100 - descuento * 100 ) +
"porciento de descuento, total a pagar:" )
imprimir ( nuevo_precio )

otra cosa :
print ( "Tienes que hacer una compra de 100 pesos o mas para aplicar al
descuento:" )
x = input ( "1 para salir o 0 para seguir:" )
! /
usr /
bin /
env
pytho
n
# - * - codificación: utf-8 - * -

cantidad_dolares = input ( "Ingresa una cantidad de dolares:" )


tasa_interes = input ( "Ingresa la tasa de interes:" )
numero_anos = input ( "Ingresa el total de anos:" )

capital_final = flotador (( cantidad_dolares * ( 1 + pow ( numero_anos , tasa_interes /


100 ))))
imprimir ( capital_final )
#! /
usr /
bin /
env
pytho
n
# - * - codificación: utf-8 - * -

'' '
Definir una tupla con 10 edades de personas.
Imprimir la cantidad de personas con edades superiores a
20.
Puedes variar el ejercicio para que sea el usuario
quien ingrese las edades.
'' '

tupla = ( 23 , 23 , 46 , 3 , 2 , 54 , 23 , 34 , 24 , 64 )

matriz = []

para x en xrange ( 1 , 11 ):
matriz . append ( input ( "Escribe una edad:" ))

cantidad = 0
para elemento en matriz :
si elemento > = 20 :
cantidad = cantidad + 1
otra cosa :
cantidad = cantidad
imprimir ( cantidad )
#! /
usr /
bin /
env
pytho
n
# - * - codificación: utf-8 - * -

'' '
Escribir una función filtrar_palabras ()
que tome una lista de palabras y un entero n, y devuelva las palabras que tengan más de n
caracteres.
'' '

def filtrar_palabras ( lista , numero ):


matriz = []
por palabra en lista :
if len ( palabra ) > = numero :
matriz . añadir ( palabra )

si len ( matriz ) == 0 :
print ( "Ninguna palabra :(" )
otra cosa :
imprimir ( matriz )

lista = [ "sa" , "sfsaf" , "dsfds" , "idsids" ]


numero = input ( "Escribe un numero:" )
filtrar_palabras ( lista , numero )
#! /
usr /
bin /
env
pytho
n
# - * - codificación: utf-8 - * -

'' '
Supongamos que tenemos mas de 3 números o
no sabemos cuantos números son. Escribir
una función max_in_list () que tome una lista
de números y devuelva el mas grande.
'' '

def max_in_list ( lista ):


numero_mayor = lista [ 0 ]

para numero en lista :


if numero_mayor <= numero :
numero_mayor = numero
otra cosa :
numero_mayor = numero_mayor
imprimir ( numero_mayor )

lista = [ 0 , 7 , 3 , 1 , 5 , 6 , 3 , 2 , 4 ]

max_in_list ( lista )
#! /
usr /
bin /
env
pytho
n
# - * - codificación: utf-8 - * -

'' '
Escribir una función mas_larga ()
que tome una lista de palabras
y devuelva la mas larga.
'' '

def mas_larga ( lista ):


palabra_mayor = len ( lista [ 0 ])
palabra_mostrar = lista [ 0 ]

por palabra en lista :


if palabra_mayor <= len ( palabra ):
palabra_mostrar = palabra
palabra_mayor = len ( palabra )
otra cosa :
palabra_mostrar = palabra_mostrar

imprimir ( palabra_mostrar )

lista = [ "a" , "afgdfgfdb" , "dsfdsfdsfsdfsdfsd" ]


mas_larga ( lista )
#! /
usr /
bin /
env
pytho
n
# - * - codificación: utf-8 - * -

'' '
Escribe un programa que pida dos palabras y diga si riman o no.
Si coinciden las tres últimas letras tiene que decir que riman.
Si coinciden sólo las dos últimas tiene que decir que riman un poco y si no, que no
riman.
'' '

palabra_uno = raw_input ( "Escribe una palabra:" )


palabra_dos = raw_input ( "Escribe otra palabra:" )

array_uno = []
array_dos = []

para x en xrange ( 1 , 4 ):
letra_uno = palabra_uno [( len ( palabra_uno ) - x )]
array_uno . añadir ( letra_uno )

para x en xrange ( 1 , 4 ):
letra_dos = palabra_dos [( len ( palabra_dos ) - x )]
array_dos . añadir ( letra_dos )

si array_uno [ 0 ] == array_dos [ 0 ]:
si array_uno [ 1 ] == array_dos [ 1 ]:
si array_uno [ 2 ] == array_dos [ 2 ]:
imprimir ( "Riman" )
otra cosa :
print ( "Riman un poco" )
otra cosa :
print ( "No riman" )
otra cosa :
print ( "No riman" )
1- Definir una función max() que tome como argumento dos números y devuelva el mayor
de ellos. (Es cierto que python tiene una función max() incorporada, pero hacerla nosotros
mismos es un muy buen ejercicio.

2- Definir una función max_de_tres(), que tome tres números como argumentos y
devuelva el mayor de ellos.

3- Definir una función que calcule la longitud de una lista o una cadena dada. (Es cierto
que python tiene la función len() incorporada, pero escribirla por nosotros mismos resulta
un muy buen ejercicio.

4- Escribir una función que tome un carácter y devuelva True si es una vocal, de lo
contrario devuelve False.

5- Escribir una función sum() y una función multip() que sumen y multipliquen
respectivamente todos los números de una lista. Por ejemplo: sum([1,2,3,4]) debería
devolver 10 y multip([1,2,3,4]) debería devolver 24.

6- Definir una función inversa() que calcule la inversión de una cadena. Por ejemplo la
cadena "estoy probando" debería devolver la cadena "odnaborp yotse"

7 - Definir una función es_palindromo() que reconoce palíndromos (es decir, palabras que
tienen el mismo aspecto escritas invertidas), ejemplo: es_palindromo ("radar") tendría que
devolver True.

8- Definir una función superposicion() que tome dos listas y devuelva True si tienen al
menos 1 miembro en común o devuelva False de lo contrario. Escribir la función usando
el bucle for anidado.
9- Definir una función generar_n_caracteres() que tome un entero n y devuelva el
caracter multiplicado por n. Por ejemplo: generar_n_caracteres(5, "x") debería devolver
"xxxxx".

10- Definir un histograma procedimiento() que tome una lista de números enteros e
imprima un histograma en la pantalla. Ejemplo: procedimiento([4, 9, 7]) debería imprimir lo
siguiente:

****
*********
*******

#! /usr/bin/env python
# -*- coding: utf-8 -*-
def max (n1, n2):
    if n1 < n2:
        print n2
    elif n2 < n1:
        print n1
    else:
        print "Son iguales"
Aclaro que uso el print para llamar a la función de la manera max(8, 5).
También se puede usar return.
Ejercicio 2
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def max_de_tres (n1, n2, n3):
    if n1 > n2 and n1 > n3:
        print n1
    elif n2 > n1 and n2 > n3:
        print n2
    elif n3 > n1 and n3 > n2:
        print n3
    else:
        print "Son iguales"
Otra vez uso el print en ves del return. Dependiendo para que lo necesitemos se usa uno
u el otro. En este caso solo quiero mostrar por pantalla cual es el mayor de los 3
números.

Ejercicio 3
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def largo_cadena (lista):
    cont = 0
    for i in lista:
        cont += 1
    return cont
En este ejercicio utilizo return en ves de print. Para ver el resultado tendríamos que llamar
la función de la manera: print largo_cadena ([1,2,3,4]) o
print largo_cadena ("hola")

Ejercicio 4
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def es_vocal (x):
    if x == "a" or x == "e" or x == "i" or x == "o" or x == "u":
        return True
    elif x == "A" or x == "E" or x == "I" or x == "O" or x == "U":
        return True
    else:
        return False
Ejercicio 5
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def sum (lista):
    suma = 0
    for i in lista:
        suma += i
    return suma
       
   
def multip (lista):
    multiplicacion = 1
    for i in lista:
        multiplicacion *= i
    return multiplicacion
Ejercicio 6

#! /usr/bin/env python
# -*- coding: utf-8 -*-
def inversa (cadena):
    invertida = ""
    cont = len(cadena)
    indice = -1
    while cont >= 1:
        invertida += cadena[indice]
        indice = indice + (-1)
        cont -= 1
    return invertida
Bueno reconozco que di muchas vueltas para resolver la palabra invertida. Quizá ustedes
tengan una solución mas simple para los que recién se están iniciando. Cualquier cosa
dejan un comentario y explico como funciona.

Ejercicio 7
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def inversa (cadena):
    invertida = ""
    cont = len(cadena)
    indice = -1
    while cont >= 1:
        invertida += cadena[indice]
        indice = indice + (-1)
        cont -= 1
    return invertida
 def es_palindromo (cadena):
    palabra_invertida = inversa (cadena)
    indice = 0
    cont = 0
    for i in range (len(cadena)):
        if palabra_invertida[indice] == cadena[indice]:
            indice += 1
            cont += 1
        else:
            print "No es palindromo"
            break
    if cont == len(cadena): #Si el contador = a la cantidad de letras de la cadena
        print "Es palindromo" # es porque recorrió todo el ciclo for y todas las
                                            # letras son iguales
Como dije en el ejercicio anterior yo lo pensé así, pero deben haber formas mas fáciles
de resolverlo.Yo utilizo los conocimientos que hasta la fecha tengo sobre python.
Lo que hago en este ejercicio es utilizar la función del ejercicio anterior (palabra invertida)
para poder compararla con la cadena que nosotros deseemos.
Ejercicio 8
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def superposicion (lista1, lista2):
    for i in lista1:
        for x in lista2:
            if i == x:
                return True
    return False
En esta función lo que hacemos es comparar dos listas.
Ejercicio 9
#! /usr/bin/env{"type":"block","srcClientIds":["5e3235cc-a18f-4c1a-aaf1-
021ea994b1c9"],"srcRootClientId":""} python
# -*- coding: utf-8 -*-
def generar_n_caracteres (n, caracter):
    print n * caracter
Ejercicio 10
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def procedimiento (lista):
    for i in lista:
        print i * "x"
Ejercicio 1
La función max() del ejercicio 1 (primera parte) y la función max_de_tres() del ejercicio 2
(primera parte), solo van a funcionar para 2 o 3 números. Supongamos que tenemos mas
de 3 números o no sabemos cuantos números son. Escribir una función max_in_list() que
tome una lista de números y devuelva el mas grande.
Ejercicio 2
Escribir una función mas_larga() que tome una lista de palabras y devuelva la mas larga.
Ejercicio 3
Escribir una función filtrar_palabras() que tome una lista de palabras y un entero n, y
devuelva las palabras que tengan mas de n caracteres.
Ejercicio 4
Escribir un programa que le diga al usuario que ingrese una cadena. El programa tiene
que evaluar la cadena y decir cuantas letras mayúsculas tiene.
Ejercicio 5
Construir un pequeño programa que convierta números binarios en enteros.
Ejercicio 6
Escribir un pequeño programa donde:
- Se ingresa el año en curso.
- Se ingresa el nombre y el año de nacimiento de tres personas.
- Se calcula cuántos años cumplirán durante el año en curso.
- Se imprime en pantalla.
Ejercicio 7
Definir una tupla con 10 edades de personas.
Imprimir la cantidad de personas con edades superiores a 20.
Puedes variar el ejercicio para que sea el usuario quien ingrese las edades.
Ejercicio 8
Definir una lista con un conjunto de nombres, imprimir la cantidad de comienzan con la
letra a.
También se puede hacer elegir al usuario la letra a buscar.  (Un poco mas emocionante)
Ejercicio 9
Crear una función contar_vocales(), que reciba una palabra y cuente cuantas letras "a"
tiene, cuantas letras "e" tiene y así hasta completar todas las vocales.
Se puede hacer que el usuario sea quien elija la palabra.
Ejercicio 10
Escriba una función es_bisiesto() que determine si un año determinado es un año
bisiesto.Un año bisiesto es divisible por 4, pero no por 100. También es divisible por 400

Ejercicio 1
No aclare bien el ejercicio, por lo tanto puede ser que lo resuelvan de esta manera:

#! /usr/bin/env python
# -*- coding: utf-8 -*-
def max_in_list(lista):
    return max (lista) #La función max() ya viene incorporada en python
Pero la idea es resolver la función por nosotros mismos para saber como es que
funciona. Aquí la solución:
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def max_in_list(lista):
    inicio = 0
    for i in lista:
    if i > inicio:
        inicio = i
    return inicio
Ejercicio 2

#! /usr/bin/env python
# -*- coding: utf-8 -*-
def mas_larga(lista):
    mas_larga = ""
    for i in lista:
        if len(i) > len(mas_larga):
            mas_larga = i
    return mas_larga
Ejercicio 3
 #! / Usr / bin / env python
# - * - Codificación: utf-8 - *
 def filtrar_palabras(lista, n):
    for i in lista:
        if len(i) > n:
            print i

Ejercicio 4

#! / Usr / bin / env python


# - * - Codificación: utf-8 - *
def c_mayusculas (cadena):
    cont = 0
    for i in cadena:
        if i != i.lower(): #Recordar que lower() convierte una cadena en minúsculas
            cont += 1
    print "La cadena tiene", cont, "mayuscula/s"

Ejercicio 5

#! /usr/bin/env python
# -*- coding: utf-8 -*-
def aDecimal(numeroBin):
    numeroBin = str(numeroBin)
    decimal = 0
    exp = len (numeroBin) -1
    for i in numeroBin:
        decimal += (int(i) * 2**(exp))
        exp = exp - 1
    return decimal
   
Ejercicio 6 

#! /usr/bin/env python
# -*- coding: utf-8 -*-
def main():
    a_curso = input ("Ingresa el anio en curso: ")
    for i  in range (3):
        nombre = raw_input ("Nombre de la persona: ")
        nacimiento = input ("Anio de nacimiento: ")
        print  nombre, "cumple", (a_curso - nacimiento), "anios en el", a_curso
   
Ejercicio 7

#! /usr/bin/env python
# -*- coding: utf-8 -*-
def mayora20 (tup):
    cont = 0
    for i in tup:
        if i > 20:
            cont += 1
    print "Hay", cont, "numeros mayores a 20"

Ejercicio 8

#! /usr/bin/env python
# -*- coding: utf-8 -*-
def main():
    x = input ("Cuantos nombres quieres ingresar?: ")
    lista = []
    for i in range(x):
        a = raw_input ("Ingresa el nombre: ")
        lista.append (a)
   
    print ""
    comienzo = raw_input ("Con que letra empieza el nombre?: ")
    cont = 0
    for i in lista:
        if i[0] == comienzo.lower() or i[0] == comienzo.upper() :
            cont += 1
    return cont
Como pueden ver, el ejercicio lo hago interactuando con el usuario. También decir que
uso la función append() que sirve para agregar elementos a una lista, uso la función
lower() para convertir cadenas en minúsculas y uso la función upper() capara convertir
caracteres o cadenas en mayúsculas.

Ejercicio 9

#! /usr/bin/env python
# -*- coding: utf-8 -*-
def contar_vocales(cadena):
    cadena = cadena.lower()
    vocales = "aeiou"
   
    for x in vocales:
        contador = 0
        for i in cadena:
            if i == x:
                contador += 1
        print "Hay %d %s." % (contador, x)
  
Ejercicio 10

#! /usr/bin/env python
# -*- coding: utf-8 -*-
def es_bisiesto():
    print "Comprueba años bisiestos"
    a = input ("Escriba un años y le dire si es bisiesto: ")
    if a % 4 == 0 and (not(a % 100 == 0)):
        print "El año", a, "es un año bisiesto porque es multiplo de 4"
    elif a % 400 == 0:
        print "El año", a, "es un año bisiesto porque es multiplo de 400"
    else:
        print "El año", a, "no es bisiesto"
Ejercicio 1
Diseñar un sistema de puntos para el juego El reino del dragón:
Dejo el enlace por si alguien no lo vio.
La idea es la siguiente: mientras el jugador vaya ganando, ira acumulando puntos.
Ejemplo: Si el jugador entra en la primera cueva y gana el tesoro, se le acreditan 100
puntos, entra en la segunda cueva y gana el tesoro, se le acreditan otros 100 puntos. Si
el jugador pierde, saldrá en pantalla el total de los puntos que realizo y la opción de
empezar de nuevo.
Ejercicio 2
Escribe un programa que te permita jugar a una versión simplificada del
juego Master Mind. El juego consistirá en adivinar una cadena de números
distintos. Al principio, el programa debe pedir la longitud de la cadena (de 2
a 9 cifras). Después el programa debe ir pidiendo que intentes adivinar la
cadena de números. En cada intento, el programa informará de cuántos números
han sido acertados (el programa considerará que se ha acertado un número si
coincide el valor y la posición).
Dime la longitud de la cadena: 4
Intenta adivinar la cadena: 1234
Con 1234 has adivinado 1 valores. Intenta adivinar
la cadena: 1243
Con 1243 has adivinado 0 valores. Intenta adivinar
la cadena: 1432
Con 1432 has adivinado 2 valores. Intenta adivinar
la cadena: 2431
Con 2431 has adivinado 4 valores.
Felicidades
Ejercicio 3
Escribe un programa que pida dos palabras y diga si riman o no. Si coinciden
las tres últimas letras tiene que decir que riman. Si coinciden sólo las dos
últimas tiene que decir que riman un poco y si no, que no riman.
Ejercicio 4
Has un programa que pida al usuario una cantidad de dolares, una tasa de interés y un
numero de años. Muestra por pantalla en cuanto se habrá convertido el capital inicial
transcurridos esos años si cada año se aplica la tasa de interés introducida.
Recordar que un capital C dolares a un interés del x por cien durante n años se convierte
en C * (1 + x/100)elevado a n (años). Probar el programa sabiendo que una cantidad de
10000 dolares al 4.5% de interés anual se convierte en 24117.14 dolares al cabo de 20
años.

Ejercicio 1

Me ha gustado mucho la forma en que Ramón ha dado el sistema de puntos para el


juego del Reino del Dragón.
#Reino del Dragon....
import random
import time
def introduccion():
print ("Estamos en una tierra llena de dragones. Delante de nuestro,")
print ("se ven dos cuevas. En una cueva, el dragon es amigable")
print ("y compartira el tesoro contigo. El otro dragon")
print ("es codicioso y hambriento, y te va a comer ni bien te vea.")
print ("")
def CambiarCueva():
cueva = ""
while cueva != "1" and cueva != "2":
print "Ha que cueva quieres entrar? 1 o 2?"
cueva = raw_input()
return cueva
newgame = ("s")
oro = 0
while newgame == ("s"):
NumdelaCueva = CambiarCueva()
print ("Te acercas a la Cueva...")
time.sleep(2)
print ("Esta oscuro y tenebroso...")
time.sleep(2)
print ("Un gran dragon salta delante tuyo, abre su boca y...")
print ("")
time.sleep(2)
FriendlyCueva = random.randint (1, 2)
print "la cueba es", FriendlyCueva
if NumdelaCueva == str(FriendlyCueva):
print ("Te entrega el tesoro...")
cofre = random.randint(50, 200)
print "Has ganado ", cofre, "en oro"
oro += cofre
else:
print ("El dragon te come de un bocado....")
print "Perdiste!!nOro acomulado:", oro
newgame = raw_input("Quieres jugar de nuevo? (s / n)")
oro = 0
Ejercicio 2
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import random
def main():

cadena = input ("Dime la longitud de la cadena: ")


eleccion = raw_input ("Intenta adivinar la cadena: ")
print ""
aleatorio = num_aleat(cadena)
tot = evalua(cadena, aleatorio, eleccion)
print aleatorio
print ""

while eleccion != aleatorio:
print "Con el numero", eleccion, "has tenido", tot, "aciertos"
print ""
eleccion = raw_input ("Intenta adivinar la cadena: ")
tot = evalua(cadena, aleatorio, eleccion)

print ""
print "Felicitaciones, has ganado...."
raw_input()
def num_aleat(cad):
numero_aleatorio = ""
for i in range(cad):
x = random.randint(0, 9)
x = str(x)
numero_aleatorio += x
return numero_aleatorio

def evalua(cad, aleat, elecc):


cont = 0
a=0
b=0
for i in range(cad):
if aleat[a] == elecc[b]:
cont += 1
a += 1
b += 1
else:
a += 1
b += 1
return cont

main()

Ejercicio 3
#!/usr/bin/env python
# -*- coding: utf-8 -*-
uno = raw_input ("Dime la primera palabra: ")
print ""
dos = raw_input ("Dime la segunda palabra: ")
print ""
if len(uno) < 3 or len(dos) < 3:
print "Las palabras tienen menos de 3 letras"
print ""
elif uno[-3:] == dos[-3:]:
print "Riman"
print ""
elif uno[-2:] == dos[-2:]:
print "Riman un poco"
print ""
else:
print "No riman"
print ""

Ejercicio 4
#!/usr/bin/env python
# -*- coding: utf-8 -*-
def main():
dolares = input ("Cuantos dolares: ")
interes = input ("Cuanto interes: ")
interes = float(interes)
anos = input ("Cantidad de años: ")
print ""
resultado = calculo (dolares, interes, anos)
print "Cuando pasen", anos, u"años, con un", interes, u"de interes, usted habrá
generado", resultado, "dolares."
def calculo (dinero, inte, cant_anos):
x =dinero * ((1 + inte/100) **cant_anos)
return x
main()
1) Este programa pide primeramente la cantidad total de compras de una persona. Si la
cantidad es inferior a $100.00, el programa dirá que el cliente no aplica a la promoción.
Pero si la persona ingresa una cantidad en compras igual o superior a $100.00, el
programa genera de forma aleatoria un número entero del cero al cinco. Cada número
corresponderá a un color diferente de cinco colores de bolas que hay para determinar el
descuento que el cliente recibirá como premio. Si la bola aleatoria es color blanco, no hay
descuento, pero si es uno de los otros cuatro colores, sí se aplicará un descuento
determinado según la tabla que  aparecerá, y ese descuento se aplicará sobre el total de
compra que introdujo inicialmente el usuario, de manera que el programa mostrará un
nuevo valor a pagar luego de haber aplicado el descuento.

2) De la galería de productos, el usuario introducirá el código y el número de unidades del


producto que desea comprar. El programa determinará el total a pagar, como una factura.
Una variante a este ejercicio que lo haría un poco más complejo sería dar la posibilidad
de seguir ingresando diferentes códigos de productos con sus respectivas cantidades, y
cuando el usuario desee terminar el cálculo de la factura completa con todas sus
compras. Te animas??
3) Este programa muestra primero el listado de categorías de películas y pide al usuario
que introduzca el código de la categoría de la película y posterior a ello pide que el
usuario introduzca el número de días de atraso, y así se muestra al final el total a pagar.

También podría gustarte