Foros del Web » Programando para Internet » Python »

Ejercicios python con solucion

Estas en el tema de Ejercicios python con solucion en el foro de Python en Foros del Web. Hola!! Donde puedo encontrar ejercicios python y que luego pueda ver la solución para comprobar fallos y aprender de ellos, algo similar a los ejercicios ...
  #1 (permalink)  
Antiguo 09/02/2012, 18:10
 
Fecha de Ingreso: julio-2003
Mensajes: 243
Antigüedad: 19 años, 6 meses
Puntos: 11
Pregunta Ejercicios python con solucion

Hola!!

Donde puedo encontrar ejercicios python y que luego pueda ver la solución para comprobar fallos y aprender de ellos, algo similar a los ejercicios que hay en http://pythonya.appspot.com/ pero que haya mas ejercicios de cada cosa, para practicar, listas,tuplas etc..

Gracias por adelantado
  #2 (permalink)  
Antiguo 09/02/2012, 20:26
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 17 años, 10 meses
Puntos: 1360
Respuesta: Ejercicios python con solucion

http://www.pyschools.com/

Definitivamente no hay soluciones para comprar, pero hay mas de 1000 ejercicios.

Diviértete.
  #3 (permalink)  
Antiguo 10/02/2012, 19:30
 
Fecha de Ingreso: julio-2003
Mensajes: 243
Antigüedad: 19 años, 6 meses
Puntos: 11
Respuesta: Ejercicios python con solucion

Cita:
Iniciado por razpeitia Ver Mensaje
http://www.pyschools.com/

Definitivamente no hay soluciones para comprar, pero hay mas de 1000 ejercicios.

Diviértete.
Muchísimas Gracias razpeitia!!!! me va a ser de mucha ayuda!! ya he echo 3 ejercicios pero me lio un poco a veces al entender lo que me pide el ejercicio, por ejemplo ¿que me pide este ejercicio? no lo entiendo bien

Write a function addNumbersInList(numbers) to add all the numbers in a list. To access each element in a list, you can use the statement 'for num in numbers:'.

Examples

>>> addNumbersInList([])
0
>>> addNumbersInList([10, 20, 30])
60
>>> addNumbersInList([-10, -20, 30])
0



Me esta diciendo que cree una lista y meta todos los numeros de la lusta en ella usando el for? o me dice otra cosa

el ejercico empieza con una Funcion

def addNumbersInList(numbers):
  #4 (permalink)  
Antiguo 10/02/2012, 21:43
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 17 años, 10 meses
Puntos: 1360
Respuesta: Ejercicios python con solucion

Cita:
Iniciado por en-us
Write a function addNumbersInList(numbers) to add all the numbers in a list. To access each element in a list, you can use the statement 'for num in numbers:'.
Cita:
Iniciado por es-mx
Escribe una funcion addNumbersInList(numbers) para sumar todos los numeros en la lista. Para acceder a cada elemento en la lista, puedes usar la sentencia 'for num in numbers:'.
No tienes que crear ninguna lista solo te dicen que crees dicha función y ellos correrán varios casos de prueba para ver si lo que les diste hace lo que ellos pidieron.
  #5 (permalink)  
Antiguo 11/02/2012, 17:42
 
Fecha de Ingreso: julio-2003
Mensajes: 243
Antigüedad: 19 años, 6 meses
Puntos: 11
Respuesta: Ejercicios python con solucion

Gracias por tus respuestas!! cuando me familiarice con la pagina no molestaré tanto jeje.

he echo esto

Código:
def addNumbersInList(numbers): 
    suma=0
    for num in numbers:
       suma += num
    print suma

Busqué informacion en google de como sumar los elementos de una lista con un ciclo for y encontre lo de:
Código:
suma += num
esto que hace exactamente lo de ''+='' aun no lo estudié creo, ¿seria igual que hacer?

Código:
suma=suma+num
o no tiene nada que ver

por cierto el script no funciona, deve de estar muy cerca no?.
  #6 (permalink)  
Antiguo 11/02/2012, 18:54
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 17 años, 10 meses
Puntos: 1360
Respuesta: Ejercicios python con solucion

De hecho nunca te dice que imprimas, solo te dice que hagas la función (y por lo que veo nunca regresas un resultado).
Código Python:
Ver original
  1. def addNumbersInList(numbers):
  2.     suma=0
  3.     for num in numbers:
  4.        suma += num
  5.     return suma

En cuanto a tu otra pregunta.

Código Python:
Ver original
  1. suma += num
Es lo mismo a
Código Python:
Ver original
  1. suma = suma + num
  #7 (permalink)  
Antiguo 11/02/2012, 22:42
 
Fecha de Ingreso: julio-2003
Mensajes: 243
Antigüedad: 19 años, 6 meses
Puntos: 11
Respuesta: Ejercicios python con solucion

Gracias de nuevo!! tenias razon! ya lo entendi
  #8 (permalink)  
Antiguo 12/02/2012, 17:03
 
Fecha de Ingreso: julio-2003
Mensajes: 243
Antigüedad: 19 años, 6 meses
Puntos: 11
Respuesta: Ejercicios python con solucion

Cita:
Create a function generateNumbers(num) that takes in a positive number as argument and returns a list of number from 0 to that number inclusive. Note: The function range(5) will return a list of number [0, 1, 2, 3, 4].

Examples

>>> generateNumber(1)
[0, 1]
>>> generateNumber(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> generateNumber(0)
[0]


este no me sale :( , que hago mal, yo he pensado en hacerlo asi

Código:
def generateNumber(num):
    inicio=0 
    for pos in num:
        if inicio<pos:
            print inicio
            print ','
            inicio=inicio+1
  #9 (permalink)  
Antiguo 12/02/2012, 18:20
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 17 años, 10 meses
Puntos: 1360
Respuesta: Ejercicios python con solucion

Otra vez, no te piden imprimir, solo te piden que regreses una lista.

Toma en cuenta que
Código:
>>> range(10)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
  #10 (permalink)  
Antiguo 12/02/2012, 18:21
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 17 años, 10 meses
Puntos: 1360
Respuesta: Ejercicios python con solucion

Otra vez, no te piden imprimir, solo te piden que regreses una lista.

Toma en cuenta que
Código:
>>> range(10)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
  #11 (permalink)  
Antiguo 13/02/2012, 07:13
 
Fecha de Ingreso: julio-2003
Mensajes: 243
Antigüedad: 19 años, 6 meses
Puntos: 11
Respuesta: Ejercicios python con solucion

Cita:
Iniciado por razpeitia Ver Mensaje
Otra vez, no te piden imprimir, solo te piden que regreses una lista.

Toma en cuenta que
Código:
>>> range(10)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
hola!!

¿borraste el ultimo post que te decia que ya lo tenia y te puse la solucion?
  #12 (permalink)  
Antiguo 13/02/2012, 11:27
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 17 años, 10 meses
Puntos: 1360
Respuesta: Ejercicios python con solucion

No, no he borrado nada y tampoco me muestra que alguien mas halla borrado. Seguramente tuviste problemas de conexión.
  #13 (permalink)  
Antiguo 13/02/2012, 14:26
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 327
Antigüedad: 11 años, 4 meses
Puntos: 3
Respuesta: Ejercicios python con solucion

Siempre puedes consultar un tutorial des de "0" :)

o .. your own teacher "razpeitia" xD

Google.es "python tutorial"

Un tutorial siempre te explica y te enseña paso a paso como tienes que hacer y desenvolupar tu programa/apliación/función....

Claro tu puedes hacer un programa aprendiendo , pero si el día de mañana trabajas en una empresa :) , como no sepas que hace ese trocito de código :) Game Over .

Again Start ! xD

Última edición por drakgoku1; 13/02/2012 a las 14:53
  #14 (permalink)  
Antiguo 13/02/2012, 14:58
 
Fecha de Ingreso: julio-2003
Mensajes: 243
Antigüedad: 19 años, 6 meses
Puntos: 11
Respuesta: Ejercicios python con solucion

Cita:
No, no he borrado nada y tampoco me muestra que alguien mas halla borrado. Seguramente tuviste problemas de conexión.
Seguramente fuera eso,, al final di con la solución de ese ejercicio lo ice así

Código Python:
Ver original
  1. #Create a function generateNumbers(num) that takes in a positive number as argument and returns a list of number from 0 to that number inclusive. Note: The function range(5) will return a list of number [0, 1, 2, 3, 4].
  2.  
  3. def generateNumber(num):
  4.     lista=[]
  5.     inicio=0
  6.     for pos in range(num+1):
  7.         lista.insert(inicio,pos)
  8.         inicio=inicio+1
  9.     return lista


Cita:
Siempre puedes consultar un tutorial des de "0" :)

o .. your own teacher "azpeitia" xD

Google.es "python tutorial"

Un tutorial siempre te explica y te enseña paso a paso como tienes que hacer y desenvolupar tu programa/apliación/función....

Claro tu puedes hacer un programa aprendiendo , pero si el día de mañana trabajas en una empresa :) , como no sepas que hace ese trocito de código :) Game Over .

Again Start ! xD
no pero si yo estudio, solo que abecés aunque consultes cuesta dar con la solución,lo que estoy haciendo no es un programa, son ejercicios para aprender llevo un mes y medio aprox en python, queda mucho lo se xdd
  #15 (permalink)  
Antiguo 14/02/2012, 19:29
 
Fecha de Ingreso: julio-2003
Mensajes: 243
Antigüedad: 19 años, 6 meses
Puntos: 11
Respuesta: Ejercicios python con solucion

uff me quedado atrancado en un ejercicio, podéis darme la solución por favor para poder estudiarlo bien y aprender, y de paso decirme que hago mal, (que serán muchas cosas) me da que me equivoco al llamar a step pero no se como hacerlo.

El ejercicio es este:

Cita:
Create a function generateNumbers(start, end, step) that takes in three numbers as arguments and returns a list of numbers ranging from start to the end number (inclusive)and skipping numbers based on the step specified in the arguments. Note: The function range(x, y, z) can takes in 3 arguments. For example, range(1, 11, 2) will return a list of numbers [1,3,5,7,9].

Examples

>>> generateNumber(2, 10, 2)
[2, 4, 6, 8, 10]
>>> generateNumber(10, 10, 1)
[10]
>>> generateNumber(20, 0, -3)
[20, 17, 14, 11, 8, 5, 2]


Yo lo he echo así:

Código Python:
Ver original
  1. def generateNumber(start,end,step):
  2.     lista=[]
  3.     inicio=0
  4.     inicio2=0  
  5.     for num in range(start,end+1):
  6.         lista.insert(inicio,num)
  7.         inicio=inicio+1
  8.     for x in lista:
  9.         lista.remove(inicio2+step,x)
  10.         step=step+step
  11.     return lista


Gracias de nuevo!!
  #16 (permalink)  
Antiguo 14/02/2012, 21:00
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 17 años, 10 meses
Puntos: 1360
Respuesta: Ejercicios python con solucion

Código Python:
Ver original
  1. def generateNumber(start, end, step):
  2.     if step < 0:
  3.         end -= 1
  4.     else:
  5.         end += 1
  6.     return range(start, end, step)
Regularmente, no doy codez a un estudiante (o a alguien que va aprendiendo), pero como veo que estas practicando bien, te daré mi solución.
  #17 (permalink)  
Antiguo 14/02/2012, 22:51
 
Fecha de Ingreso: julio-2003
Mensajes: 243
Antigüedad: 19 años, 6 meses
Puntos: 11
Respuesta: Ejercicios python con solucion

Cita:
Iniciado por razpeitia Ver Mensaje
Código Python:
Ver original
  1. def generateNumber(start, end, step):
  2.     if step < 0:
  3.         end -= 1
  4.     else:
  5.         end += 1
  6.     return range(start, end, step)
Regularmente, no doy codez a un estudiante (o a alguien que va aprendiendo), pero como veo que estas practicando bien, te daré mi solución.


Muchísimas gracias razpeitia te aseguro que saco mucho partido de tus respuestas, y hasta que no entiendo el ejercicio no paso a otro , en este caso me confundí porque el ejercicio esta dentro de los ejercicios ''for'' en la pagina que me dijiste entonces di por echo que había que hacerlo con ''for'' y lo intenté hasta que me quede sin alternativas

Por cierto veo que hay como un sistema de puntos para los usuarios, como se ganan los puntos en competiciones o algo asi?

Saludos!!
  #18 (permalink)  
Antiguo 15/02/2012, 00:06
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 17 años, 10 meses
Puntos: 1360
Respuesta: Ejercicios python con solucion

Los puntos son por problemas hechos (no exactamente como funcione).

El máximo puntaje hasta ahora es 209, lo logras haciendo todos los ejercicios y todos los retos.
  #19 (permalink)  
Antiguo 15/02/2012, 18:49
 
Fecha de Ingreso: julio-2003
Mensajes: 243
Antigüedad: 19 años, 6 meses
Puntos: 11
Respuesta: Ejercicios python con solucion

Cita:
Iniciado por razpeitia Ver Mensaje
Los puntos son por problemas hechos (no exactamente como funcione).

El máximo puntaje hasta ahora es 209, lo logras haciendo todos los ejercicios y todos los retos.
Ok ya entiendo, bueno por el momento solo me preocupare de ir haciendo y aprendiendo..

estoy atascado de nuevo..

Cita:
Create a function addNumbers(x) that takes a number as an argument and adds all the integers between 1 and the number (inclusive) and returns the total number.

Examples

>>> addNumbers(10)
55
>>> addNumbers(1)
1


Y empieza asi el ejercicio :

def addNumbers(num):
total = 0
i = 1
while
Conozco el ciclo indefinido while, pero no logro tener una idea para aplicarlo, he echo el ejercicio usando for sin problema, pero tiene que ser con while

Código Python:
Ver original
  1. def addNumbers(num):
  2.     total=0
  3.     for num in range(num+1):
  4.         total=total+num
  5.         return total


como seria haciendolo con while?


Gracias de nuevo
  #20 (permalink)  
Antiguo 16/02/2012, 18:02
 
Fecha de Ingreso: julio-2003
Mensajes: 243
Antigüedad: 19 años, 6 meses
Puntos: 11
Respuesta: Ejercicios python con solucion

nadie puede echarme una mano porfavor? :(

es mejor que abra nuevos post para nuevas dudas?

Saludos
  #21 (permalink)  
Antiguo 17/02/2012, 09:06
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ejercicios python con solucion

Cualquier while es fácilmente traducible a for, y a la inversa (bueno, en python como el único for es el que itera, quizás no sea tan cierto, pero mantengámonos con esta idea).

Para cualquier bucle, necesitás tres cosas básicas: inicialización, condición de salida y por supuesto el código que vayas a ejecutar

En tu código:
* for itera sobre los números entre 0 y num+1, y tiene implícito el avance para cada número.
* la inicialización es total = 0.
* El bloque de código no necesita cambiar.

Entonces, podés convertirlo fácilmente:
Código Python:
Ver original
  1. total = 0
  2. i = 0 # única inicialización extra requerida
  3. while i <= num: # esto está implícito en el for
  4.     total += i # el bloque de código no cambia
  5. return total

Comentarios aparte:
* el código que pegaste no funciona, porque el "return" está dentro del for.
* podés sustituir el for con algo mucho más simple: return sum(range(num+1))
* no es recomendable, por claridad, repetir el nombre de las variables como lo has hecho con "num"
  #22 (permalink)  
Antiguo 17/02/2012, 18:23
 
Fecha de Ingreso: julio-2003
Mensajes: 243
Antigüedad: 19 años, 6 meses
Puntos: 11
Respuesta: Ejercicios python con solucion

Cita:
Iniciado por AlvaroG Ver Mensaje
Cualquier while es fácilmente traducible a for, y a la inversa (bueno, en python como el único for es el que itera, quizás no sea tan cierto, pero mantengámonos con esta idea).

Para cualquier bucle, necesitás tres cosas básicas: inicialización, condición de salida y por supuesto el código que vayas a ejecutar

En tu código:
* for itera sobre los números entre 0 y num+1, y tiene implícito el avance para cada número.
* la inicialización es total = 0.
* El bloque de código no necesita cambiar.

Entonces, podés convertirlo fácilmente:
Código Python:
Ver original
  1. total = 0
  2. i = 0 # única inicialización extra requerida
  3. while i <= num: # esto está implícito en el for
  4.     total += i # el bloque de código no cambia
  5. return total

Comentarios aparte:
* el código que pegaste no funciona, porque el "return" está dentro del for.
* podés sustituir el for con algo mucho más simple: return sum(range(num+1))
* no es recomendable, por claridad, repetir el nombre de las variables como lo has hecho con "num"

Ufff que lio, al final ya lo saque, muchas gracias por la ayuda, en tu código había un error seguro que se te paso, de la manera que estaba el bucle era infinito porque 'i' siempre es menos o igual al 'num', había que añadirle un acumulador para 'i' ,de todas formas me ayudo mucho tu respuesta porque me orientó,

Al final quedó así:

Código Python:
Ver original
  1. def addNumbers(num):
  2.     total=0
  3.     i=1
  4.     while i<=num:
  5.         total=total+i
  6.         i=i+1
  7.     return total


Gracias!!!
  #23 (permalink)  
Antiguo 18/02/2012, 13:44
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ejercicios python con solucion

Cita:
Iniciado por BiChOmAlO_TGN Ver Mensaje
en tu código había un error seguro que se te paso
¿Cómo se te ocurre tal cosa? Lo hice a propósito.

Naa, estoy bromeando, sí fue un error . Me alegra que te haya servido.


Saludos.
  #24 (permalink)  
Antiguo 20/02/2012, 01:55
 
Fecha de Ingreso: julio-2003
Mensajes: 243
Antigüedad: 19 años, 6 meses
Puntos: 11
Respuesta: Ejercicios python con solucion

Cita:
Iniciado por AlvaroG Ver Mensaje
¿Cómo se te ocurre tal cosa? Lo hice a propósito.

Naa, estoy bromeando, sí fue un error . Me alegra que te haya servido.


Saludos.
jejeje, gracias de nuevo

Etiquetas: ejercicios, solucion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:28.