Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
Nombre Dec Hex Car. Dec Hex Car. Dec Hex Car. Dec Hex Car.
backspace 8 08 BS 40 28 ( 72 48 H 104 68 h
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
Ejemplo:
Ejemplo:
¿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:
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..
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:
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.
Por ejemplo:
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...
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.
'' '
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 ??
'' '
cuenta = []
precios = [ 100 , 120 , 100 ]
comprando = 0
mientras comprando == 0 :
precio_total = 0
'' '
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.
'' '
'' '
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 ())
'' '
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.
'' '
'' '
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.
'' '
'' '
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
'' '
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.
importar al azar
x = 0
mientras que x == 0 :
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 - * -
'' '
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.
'' '
si len ( matriz ) == 0 :
print ( "Ninguna palabra :(" )
otra cosa :
imprimir ( matriz )
'' '
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.
'' '
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.
'' '
imprimir ( palabra_mostrar )
'' '
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.
'' '
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
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
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
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.