[Python] for in y sumatorios en persona.

Iniciado por Meta, 16 Octubre 2010, 12:13 PM

0 Miembros y 4 Visitantes están viendo este tema.

Meta

 :D

Ver imagen de los ejercicios

Ver libro del Python en pdf página 113.


123)

Código (python) [Seleccionar]
n = int(raw_input('Introduce un número: '))
m = int(raw_input('Introduce un número: '))

sumatorio = 0
for i in range(n, m, 2):
   sumatorio += i
print sumatorio


CitarIntroduce un número: 0
Introduce un número: 10
20

¿Realmente es así lo que pide el ejercicio 123?

Por si acaso lo hago como lo creo de otra manera ya que pide el resultado n+i por lo que he entendido hasta ahora el ejercicio 123.

Código (python) [Seleccionar]
n = int(raw_input('Introduce un número: '))
m = int(raw_input('Introduce un número: '))

sumatorio = 0
for i in range(n, m, 2):
   sumatorio += i
   n = i
print n


CitarIntroduce un número: 0
Introduce un número: 10
8

Como podrán ver, dan resultados diferentes. He hecho dos ejercicios del 123. ¿Tengo alguno hecho bien o ninguno?

Edito 1:


Ahora creo que es este:
Código (python) [Seleccionar]
n = int(raw_input('Introduce un número: '))
m = int(raw_input('Introduce un número: '))

sumatorio = 0
for i in range(n, m):
   sumatorio += i
   n = i
print n










124)


¿Me pueden confirmar si lo hice como he entendido?

Código (python) [Seleccionar]
n = int(raw_input('Introduce un número: '))
m = int(raw_input('Introduce un número: '))

sumatorio = 0
for i in range(n, m**2, 2):
   sumatorio += i
   n = i
print n


Resultado del ejercicio 124).
CitarIntroduce un número: 0
Introduce un número: 10
98

Edito 2:

Ahora creo el 124) es este:
Código (python) [Seleccionar]
n = int(raw_input('Introduce un número: '))
m = int(raw_input('Introduce un número: '))

sumatorio = 0
for i in range(n, m**2):
   sumatorio += i
   n = i
print n


CitarIntroduce un número: 0
Introduce un número: 10
99







125)

Código (python) [Seleccionar]
n = int(raw_input('Introduce un número: '))
m = int(raw_input('Introduce un número: '))

sumatorio = 0
for i in range(n, m, 2):
    sumatorio += i
print sumatorio


CitarIntroduce un número: 0
Introduce un número: 10
20

:)
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

criskapunk

#1
Buenas Meta :)

En el primer ejercicio, segun entiendo, tenes que calcular la sumatoria de todos los numeros enteros comprendidos entre [n;m] (Ambos incluidos).

En tu primer codigo calculas bien la suma, solo que no incluis ningun numero impar ni el ultimo valor.

Devuelve esto:

0 + 2 + 4 + 6 + 8 = 20

En el segundo calculas la suma pero no la devolves :P Solo mostras el ultimo valor de i. En el tercero haces lo mismo que en el anterior, con la diferencia de que al no pasarle el tercer argumento a range(), tambien te muestra los numeros impares.

Una ultima cosa que acabo de leer :P La funcion range() devuelve una lista de numeros enteros sucesivos, desde el primer valor hasta el ultimo (Que NO se incluye), es decir, para calcular la sumatoria de los numeros del 1 al 10 por ejemplo, tendrias que usar algo asi:

Código (python) [Seleccionar]
range(n, m + 1)

Edito:

En el ejercicio 124 te pide calcular la sumatoria de los valores comprendidos en el intervalo [n,m] (Igual que el anterior) con la diferencia que ahora dichos numeros deben estar elevados al cuadrado.

Por ejemplo, usamos como valores n = 0 y m = 5

Salida en el 123

0 + 1 + 2 + 3 + 4 + 5 = 15

Salida en el 124

0 ** 2 + 1 ** 2 + 2 ** 2 + 3 ** 2 + 4 ** 2 + 5 ** 2 = 55

Y el ej. 125 tenes que calcular la sumatoria (Otra vez, igual que el primero) con la diferencia de que ahora solo tenes que usar los numeros pares.

Un saludo ;)

Meta

123)

Parece que es así:
Código (python) [Seleccionar]
n = int(raw_input('Introduce un número: '))
m = int(raw_input('Introduce un número: '))

sumatorio = 0
for i in range(n, m):
    sumatorio += i
    n = i
print n


CitarIntroduce un número: 0
Introduce un número: 10
9






124)

Código (python) [Seleccionar]
n = int(raw_input('Introduce un número: '))
m = int(raw_input('Introduce un número: '))

sumatorio = 0
for i in range(n, m):
    sumatorio += i
    n = i**2
print n


CitarIntroduce un número: 0
Introduce un número: 10
81





125)

Este parece que no me sale. Da resultado un poco raro.
Código (python) [Seleccionar]
n = int(raw_input('Introduce un número: '))
m = int(raw_input('Introduce un número: '))

sumatorio = 0
for i in range(n, m, 2):
    sumatorio += i
print sumatorio


CitarIntroduce un número: 0
Introduce un número: 10
20

Parece que el 123) y 124) ya lo tengo bien.

El 124) no tengo idea.

¿Qué opinan?

http://es.wikipedia.org/wiki/Sumatorio

Saludo.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

criskapunk

El 123.

Esta bien, solo que no usas el intervalo completo. Usando n = 0 y m = 10

Código (python) [Seleccionar]
range(n, m)

Usa los numeros del 0 al 9 (No incluye el 10). Para incluirlo tenes que hacer:

Código (python) [Seleccionar]
range(n, m + 1)

Y en el print tenes que mostrar sumatorio :P

Un saludo ;)

flony

n = int(raw_input('Introduce un número: '))
m = int(raw_input('Introduce un número: '))

sumatorio = 0
for i in range(n, m):
    sumatorio += (i*i)
    n = i
print n

creo q es asi
si un problema no tiene solucion entonces no es un problema...es algo inevitable

Meta

Cita de: criska en 16 Octubre 2010, 17:21 PM
El 123.

Esta bien, solo que no usas el intervalo completo. Usando n = 0 y m = 10

Código (python) [Seleccionar]
range(n, m)

Usa los numeros del 0 al 9 (No incluye el 10). Para incluirlo tenes que hacer:

Código (python) [Seleccionar]
range(n, m + 1)

Y en el print tenes que mostrar sumatorio :P

Un saludo ;)

No incluye el 10 porque se cuenta el 0. Si quieres que aparezca el 10 debes poner un 11.

Quiero saber si lo que pide los tres ejercicios están ya bien.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

¡Micronet!

Chiviadamente Meta... me as inspirado... seguire tus pasos la verdad.

Voi a ponerme a estudiar "Ruby" por mi cuenta jejeje :)
me gusto tu entusiasmo de querer aprender :)

"La Tarea No Se Hace, Pero No Indica Que No Se Ayude Al Estudiante"

Meta

Hola ¡Micronet!:

Me fui animando primero, tardé por lo menos un año o más en decidirme cual lenguaje escoger para aprender a programar algo y si es que realmente haría algo para empezar en vez de ser observador sin hacer nada. Casi escojo Ruby, al ver que hay mucha más documentación sobre Python encontré un buen libro de PDF por todas partes, muchos ejemplos y mucha gente que le gusta Python.

Al final le voy cogiendo el gusto de la programación de Python, hace más cosas de lo que imaginaba, eso si, me cuesta mucho esfuerzo y eso que el PDF lo explica muy bien. Por otro lado los ejercicios que me están apoyando este foro a intentar buscar soluciones las guardo en Word. Al releer el libro ya tengo los ejemplos hechos y por si se me olvida algo recordarlo. Como dice el dicho: "El que quiere algo, le cuesta".

Para los visitantes que no sepan del libro puedes verlo.
http://marmota.act.uji.es/mtp/pdf/python.pdf

;)
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

¡Micronet!

Cita de: Meta en 17 Octubre 2010, 07:16 AM
Hola ¡Micronet!:

Me fui animando primero, tardé por lo menos un año o más en decidirme cual lenguaje escoger para aprender a programar algo y si es que realmente haría algo para empezar en vez de ser observador sin hacer nada. Casi escojo Ruby, al ver que hay mucha más documentación sobre Python encontré un buen libro de PDF por todas partes, muchos ejemplos y mucha gente que le gusta Python.

Al final le voy cogiendo el gusto de la programación de Python, hace más cosas de lo que imaginaba, eso si, me cuesta mucho esfuerzo y eso que el PDF lo explica muy bien. Por otro lado los ejercicios que me están apoyando este foro a intentar buscar soluciones las guardo en Word. Al releer el libro ya tengo los ejemplos hechos y por si se me olvida algo recordarlo. Como dice el dicho: "El que quiere algo, le cuesta".

Para los visitantes que no sepan del libro puedes verlo.
http://marmota.act.uji.es/mtp/pdf/python.pdf

;)

Si de echo. pero como no he visto nada de ruby por el momento me pondre a checar eso. y si desde el momento que comente por primera vez uno de tus temas, ataque el libro jeje :), porque tambien lo veo por mientras bueno ahurita ya dejamos de usarlo pero lo ataque por cualquier cosa :)

"La Tarea No Se Hace, Pero No Indica Que No Se Ayude Al Estudiante"

criskapunk

Cita de: Meta en 17 Octubre 2010, 06:05 AM

No incluye el 10 porque se cuenta el 0. Si quieres que aparezca el 10 debes poner un 11.

Quiero saber si lo que pide los tres ejercicios están ya bien.

Ahi esta el problema, en que no incluyes el 10 (o al numero que hayas puesto).

Este codigo (Con valores 0 y 10)

Código (python) [Seleccionar]
n = int(raw_input('Introduce un número: '))
m = int(raw_input('Introduce un número: '))

sumatorio = 0
for i in range(n, m):
    sumatorio += i
    n = i
print sumatorio


Te devuelve la suma de 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45

Falta el ultimo valor, que es el que no incluis. Esa es la razon de porque usar range(n, m + 1)

Código (python) [Seleccionar]
n = int(raw_input('Introduce un número: '))
m = int(raw_input('Introduce un número: '))

sumatorio = 0
for i in range(n, m + 1):
    sumatorio += i
    n = i
print sumatorio


Que devuelve 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55

Un saludo ;)