Está en la página 1de 17

Bueno aqui les dejo 16 ejemplos o ejercicios sencillos en el lenguaje Phyton con

sus Cdigos recuerden no es copiar es practicar sobre todo entender bien de que
trata los ejercicios y sus cdigos.
1. Programa que imprima los 25 primeros numeros naturales
###Programa que imprima los 25 primeros numeros naturales
n=1
while n <= 25:
print n,
n += 1

2. Imprimir los numeros impares desde el 1 al 25, ambos inclusive


###Imprimir los numeros impares desde el 1 al 25, ambos inclusive
n=1
h = ''
while n <= 25:
if n%2 != 0:
h += ' %i' % n
n += 1
print h

3. Imprimir los numeros pares desde el 40 hasta el 60, ambos inclusive

###Imprimir los numeros pares desde el 40 hasta el 60, ambos inclusive


n = 40
h = ''
while n <= 60:
if n%2 == 0:
h += ' %i' % n
n += 1
print h

4. Imprimir los numeros 48, 52, 56, , 120


###Imprimir los numeros 48, 52, 56, ..., 120
n = 48
h = ''
while n <= 120:
h += ' %i' % n
n += 4
print h

5. Calcular e imprimir la suma 1+2+3+4+5++50


###Calcular e imprimir la suma 1+2+3+4+5+...+50
n = 100
h = ''

while n >= 20:


h += ' %i' % n
n -= 5
print h

6. Calcular e imprimir la suma 1+2+3+4+5++50


###Calcular e imprimir la suma 1+2+3+4+5+...+50
h = range(1, 51)
print sum(h) #con el comando sum se suma los numeros de una lista

7. Calcular e imprimir el producto 1*2*3*4*5**20


###Calcular e imprimir el producto 1*2*3*4*5*...*20
n=1
h=1
while n <= 20:
h *= n
n += 1
print h

8. Calcular e imprimir la suma 50+48+46+44++20


###Calcular e imprimir la suma 50+48+46+44+...+20

n = 50
h=0
while n >= 20:
h += n
n -= 2
print h

9. Programa que imprima los nuumeros impares desde el 100 hasta la unidad y
calcule su suma n = 100
###Programa que imprima los nuumeros impares desde el 100 hasta la unidad y calcule su suma
n = 100
h=0
while n >= 1:
if n%2 != 0:
print n,
h += n
n -= 1
print 'y su suma es: %i' % h

10. Introducir un nuumero por teclado y decir si es par o impar


### Introducir un nuumero por teclado y decir si es par o impar
h = input('Introduzca un numero: ')

if h%2 == 0:
print 'Este numero es par'
else:
print 'Este numero es impar'

11. Imprimir los numeros del 1 al 100 y calcular la suma de todos los nuumeros
pares por un lado, y por otro, la de los impares.
##Imprimir los numeros del 1 al 100 y calcular la suma de todos los nuumeros
###pares por un lado, y por otro, la de los impares.
n=1
p=0
i=0
while n <= 100:
print n,
if n%2 == 0:
p += n
else:
i += n
n += 1
print '\nLa suma de los pares es igual a %i' % p
print 'La suma de los impares es igual a %i' % i

12. Introducir dos numeros por teclado. Imprimir los numeros que hay entre ellos
comenzando por el mas pequeno. Contar cuantos hay y cuantos de ellos son
pares. Calcular la suma de los pares
##Introducir dos numeros por teclado. Imprimir los numeros que hay entre ellos
###comenzando por el mas pequeno. Contar cuantos hay y cuantos de ellos son
###pares. Calcular la suma de los pares
p=0
cp = 0
c=0
n=0
h=0
h1 = input('Primer numero: ')
h2 = input('Segundo numero: ')
if h1 > h2:
n = h2
h = h1
else:
n = h1
h = h2
while n < h:
n += 1
if n == h:
break

c += 1
print n,
if n%2 == 0:
cp += 1
p += n
print '\nEntre % i y %i hay %i numeros siendo %i pares' % (h1, h2, c, cp)
print 'La suma de los pares es %i' % p

13. Imprimir y contar los numeros multiplos de 3 que hay entre 1 y 100.
### Imprimir y contar los numeros multiplos de 3 que hay entre 1 y 100.
n=1
h=0
while n < 100:
if n%3 == 0:
print n,
h += 1
n += 1
print '\nEntre 1 y 100 hay %i numeros multiplos de 3' % h

14. Imprimir, sumar y contar los numeros que son a la vez multiplos de 2 y de 3,
que hay entre la unidad y un determinado numero introducido por el teclado.
### Imprimir, sumar y contar los numeros que son a la vez multiplos de 2 y

###de 3, que hay entre la unidad y un determinado numero introducido por el


###teclado.
n=1
num = input('Llegar hasta: ')
h=0
suma = 0
while True:
if 3*n > num:
break
if (3*n)%2 == 0:
print 3*n,
h += 1
suma += 3*n
n += 1
print '\nEntre 1 y %i hay %i numeros multiplos de 3 y de 2' % (num, h)
print 'Dichos numeros suman %i' % suma

15. Introducir dos valores A y B: Si A>=B,


calcular e imprimir la suma 10+14+18++50 Si A/B<=30,
calcular e imprimir el valor de (A^2+B^2)
##Introducir dos valores A y B:
###Si A>=B, calcular e imprimir la suma 10+14+18+...+50

###Si A/B<=30, calcular e imprimir el valor de (A^2+B^2)


a = input('Primer valor: ')
b = input('Segundo valor: ')
n = 10
suma = 0
sumas = 0
if a >= b:
while n <= 50:
suma += n
n += 4
print suma
if a/b <= 30:
sumas = (a**2+b**2)
print sumas

16. Introducir los valores A, B y C: Si A/B>30,


calcular e imprimir A/C * B^3

Si A/B<=30,

calcular e imprimir 2^2+4^2+6^2++30^2


##Introducir los valores A, B y C:
###Si A/B>30, calcular e imprimir A/C * B^3
###Si A/B<=30, calcular e imprimir 2^2+4^2+6^2+...+30^2
a = input('Primer valor: ')

b = input('Segundo valor: ')


c = input('Tercer valor: ')
n=2
suma = 0
sumas = 0
if a/b > 30:
suma = a/c*b**3
print suma
if a/b <= 30:
while n <= 30:
sumas += n**2
n += 2
print sumas

Ejercicio 1.
Escribir un algoritmo que, para cualquier nmero de segundos inferior a un milln, calcule su equivalente en das, horas,
minutos y segundos.
En este ejercicio tenemos que tener en cuenta que:
1 minuto = 60 segundos.
1 hora = 60 minutos = 3600 segundos.
1 dia = 24 horas = 1440 minutos = 86400 segundos.
# Pedimos datos.
dato = raw_input(u'Nmero de segundos: ')

# Hacemos un cast, convirtiendo la cadena en un nmero largo.


dato = long(dato)
# Comprobamos si el nmero introducido es menor a un milln.
if dato >= 1000000:
print "El nmero debe de ser menor a 1000000"
else:
# Das.
ndias, aux = divmod(dato, 86400)
# Horas.
nhoras, aux = divmod(aux, 3600)
# Minutos y segundos.
nmin, nseg = divmod(aux, 60)
# Mostramos resultado.
print '%d das, %d horas, %d minutos, %d segundos' % \
(ndias, nhoras, nmin, nseg)
Ejercicio 2.
Escribir un algoritmo que imprima el mnimo, el mximo y la media de tres nmeros.
# Obtenemos nmeros.
numeros = []
for i in ['primer', 'segundo','tercer']:
texto = u'Introduce el %s nmero: ' % (i)
numeros.append(float(raw_input(texto)))
# Ordenamos.
numeros.sort()
# Obtenemos mximo y mnimo.
minimo = numeros[0]
maximo = numeros[2]

# Obtenemos la media aritmtica.


media = round((numeros[0] + numeros[1] + numeros[2]) / float(3),3)
# Visualizamos resultados.
cadena = u'Mnimo: %d, Mximo: %d, Media: %f' % (minimo, maximo, media)
print cadena
Ejercicio 3.
Escribir un algoritmo que, dado el infinitivo de un verbo regular de la primera conjugacin, obtenga la conjugacin en singular y
plural de presente de indicativo. Por ejemplo, para el verbo cantar el resultado es yo canto, tu cantas, el canta, nosotros
cantamos, vosotros cantis, ellos cantan.

pronombre = ['yo','tu','el','nosotros','vosotros','ellos']
terminaciones = {'yo':'o',
'tu':'as',
'el':'a',
'nosotros':'amos',
'vosotros':u'is',
'ellos':'an'}
# Pedimos datos.
palabra = raw_input(u'Verbo regular 1ra. conjugacin: ')
# Recorremos la tabla hashing (diccionario), construyendo la conjugacin verbal.
for i in pronombre:
print i, palabra[0:len(palabra)-2] + terminaciones[i]
Ejercicio 4.
Escribir un algoritmo que, para un nmero binario de 4 cifras, imprima su valor en base 10. Se estudiarn dos formas del
problema segn la representacin de los datos:
-forma 1: los datos son cuatro enteros (0 1). Por ejemplo: 1,1,0,1.

-forma 2: el dato es un entero cuya representacin decimal con cuatro


cifras no contenga ms que 0 1: Por ejemplo: 1101.

# Obtenemos datos.
nbinario = raw_input(u'Nmero binario (4 cifras): ')
# Obtenemos los dgitos.
nbinario = nbinario.split(',')
if len(nbinario) == 1: nbinario = list(nbinario[0])
# Inicializamos algunos contadores.
decimal = 0
potencia = 0
# Le damos la vuelta al nmero binario.
nbinario.reverse()
# Calculamos el nmero decimal, a partir del nmero binario.
for i in nbinario:
decimal += pow(2,potencia) if i == '1' else 0
potencia += 1
# Visualizamos resultado.
cadena = u'Su representacin decimal es %d' % (decimal)
print cadena
Ejercicio 5.
Escribir un algoritmo que decodifique fechas del siglo XXI. El dato es un entero comprendido entre 10100 y 311299. El
resultado es una secuencia de caracteres: nmero del da dentro del mes, del mes dentro del ao y del ao dentro del siglo. Por
ejemplo, para el dato 30485, el resultado es el texto 3-4-2085.

# Obtenemos dato.
dato = raw_input('Introduce dato: ')
# Decodificamos ao dentro del siglo XXI.
anyo = 2000 + int(dato[len(dato)-2:])
# Decodificamos mes.
mes = int(dato[len(dato)-4:len(dato)-2])
# Decodificamos da.
dia = int(dato[:len(dato)-4])
# Mostramos resultado.
cadena = '%d-%d-%d' % (dia, mes, anyo)
print cadena
Ejercicio 6.
Escribir un algoritmo que, para una suma de dinero dada, indique cmo descomponerla en billetes y monedas corrientes. Se
desea utilizar el mnimo de billetes y monedas. No hay ninguna limitacin respecto al nmero de billetes y monedas disponibles.

# Declaramos datos bsicos (euros) con los que trabajar.


billetes_y_monedas = [500,200,100,50,20,10,5, 2, 1, 0.50, 0.20, 0.10,
0.05, 0.02, 0.01]
# Creamos un monedero, donde meter el dinero.
monedero = []
# Pedimos la cantidad.
dato = raw_input(u'Introducir importe (euros): ')
# Buscamos parte decimal y entera.
dato = dato.split('.')

# Decimal...
try: parte_decimal = float('0.'+dato[1])
except: parte_decimal = 0.0
# Entera...
parte_entera = long(dato[0])
# Algoritmo de asignacin de dinero.
for i in billetes_y_monedas:
# Obtenemos nmero de billetes monedas y los guardamos.
unidades, resto = divmod(parte_entera, i)
if unidades != 0:
monedero.append((i,unidades))
# Asignamos lo que nos queda.
parte_entera = resto
if parte_decimal > 0:
for i in billetes_y_monedas:
# Obtenemos nmero de monedas y los guardamos.
unidades, resto = divmod(parte_decimal, i)
if unidades != 0:
monedero.append((i,unidades))
# Asignamos lo que nos queda.
parte_decimal = round(resto,2)
# Visualizamos el resultado.
cadena = ''
for i in monedero:
if i[0] >= 5: cadena += '%d billete/s de %d euros' % (i[1],i[0])
if i[0] < 5: cadena += '%d moneda/s de %s euros' % (i[1],i[0])
cadena += '\n'
print cadena

Ejercicio 7.
Escribir un algoritmo que simule el funcionamiento de una calculadora. El dato es una serie de tres caracteres: una cifra, un
smbolo de operacin y otra cifra. El resultado es el valor de la expresin dada.
# Pedimos datos.
dato = raw_input(u'Introduce operacin: ')
# Inicializamos resultado.
resultado = 0
# Suma?
serie = dato.split('+')
if len(serie) == 2: resultado = long(serie[0]) + long(serie[1])
else:
# Resta?
serie = dato.split('-')
if len(serie) == 2: resultado = long(serie[0]) - long(serie[1])
else:
# Multiplicacin?
serie = dato.split('*')
if len(serie) == 2: resultado = long(serie[0]) * long(serie[1])
else:
# Divisin?
serie = dato.split('/')
if len(serie) == 2: resultado = long(serie[0]) / long(serie[1])
# Mostramos resultado.
print "El resultado es",resultado
Ejercicio 8.
Consideremos una hora expresada en forma de tripleta . Escribir un algoritmo que imprima la hora correspondiente al siguiente
segundo. Por ejemplo, para la entrada 13,43,24 tiene que devolver 13,43,25.

Se supone que lo que introducimos es una hora correcta. Darse cuenta que no se chequean los datos introducidos, por cuestin
de simplicidad.
# Pedimos datos.
tiempo = raw_input('Introduce tiempo: ')
# Obtenemos datos.
aux = tiempo.split(',')
horas = int(aux[0])
minutos = int(aux[1])
segundos = int(aux[2])
# Aumentamos un segundo.
segundos += 1
# Casos.
if segundos != 60:
tiempo = (horas, minutos, segundos)
else:
if minutos == 59 and horas == 23:
tiempo = (0, 0, 0)
else:
if minutos == 59:
tiempo = (horas + 1, 0, 0)
else:
tiempo = (horas, minutos + 1, 0)
# E imprimimos resultado (una tupla).
print tiempo

También podría gustarte