Foros del Web » Programando para Internet » Python »

Entender lo que hay que hacer en este ejercicio.

Estas en el tema de Entender lo que hay que hacer en este ejercicio. en el foro de Python en Foros del Web. Hay un ejercicio que no se que hay que hacer, no entiendo mucho. Cita: Gacer un programón que calcule el factorial de un número entero ...
  #1 (permalink)  
Antiguo 13/10/2010, 19:41
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 729
Antigüedad: 17 años, 5 meses
Puntos: 8
Entender lo que hay que hacer en este ejercicio.

Hay un ejercicio que no se que hay que hacer, no entiendo mucho.

Cita:
Gacer un programón que calcule el factorial de un número entero positivo. El factorial de n se denota con n!, pero no existe ningún operador Python que permita efectuar este cálculo directamente. Sabiendo que n! = 1 · 2 · 3 · . . . · (n − 1) · n y que 0! = 1, haz un programa que pida el valor de n y muestre por pantalla el resultado de calcular n!.
Hay que usar while, no for.

Por lo que he entendido he hecho esto hasta el momento pero no se si se refiere a esto:

Código Python:
Ver original
  1. n = int(raw_input('Introduce un valor n: '))
  2.  
  3. sumatorio = 0
  4. i = 0
  5. while i < n:
  6.     i += 1
  7.     sumatorio *= i
  8.     (n - 1) * n
  9. print sumatorio
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #2 (permalink)  
Antiguo 13/10/2010, 23:36
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Entender lo que hay que hacer en este ejercicio.

Código Python:
Ver original
  1. n = int(raw_input('Introduce un valor n: '))
  2.  
  3. sumatorio = 1
  4. i = 0
  5. while i < n:
  6.     i += 1
  7.     sumatorio *= i
  8.     #sumatorio = sumatorio * i
  9.     #sumatorio = 0 * i
  10.     #sumatorio = 0, asi sucesivamente
  11.     (n - 1) * n #WTF??!! esto que hace aqui son operaciones al aire
  12. print sumatorio
Recomendación empieza a aprender como usar un debugger o por lo menos a hacer pruebas de escritorio.
  #3 (permalink)  
Antiguo 13/10/2010, 23:52
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 729
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Entender lo que hay que hacer en este ejercicio.

Entonces cómo se hace realmente.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #4 (permalink)  
Antiguo 14/10/2010, 00:09
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Entender lo que hay que hacer en este ejercicio.

Pero si ya te lo di corregido, vuelve a leer fuera del while.
  #5 (permalink)  
Antiguo 14/10/2010, 00:11
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 729
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Entender lo que hay que hacer en este ejercicio.

Lo suponía, dudé por las cosas que has puesto en # que también funciona una a una, muchas gracias mi muy distinguido amigo.

Dudé en la parte de #WTF??!! esto que hace aqui son operaciones al aire.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #6 (permalink)  
Antiguo 14/10/2010, 00:14
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Entender lo que hay que hacer en este ejercicio.

Prueba para el caso 0, -1, -2, -3 y también para el caso con números grandes como 1000000
  #7 (permalink)  
Antiguo 14/10/2010, 00:16
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 729
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Entender lo que hay que hacer en este ejercicio.

Lo he probado, me gusta más el 8.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #8 (permalink)  
Antiguo 14/10/2010, 00:33
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Entender lo que hay que hacer en este ejercicio.

Ciertamente python no tiene ningún operador para factoriales, pero tiene funciones dentro de la librería estándar.
Código Python:
Ver original
  1. from math import factorial
  2. print factorial(8)
  #9 (permalink)  
Antiguo 14/10/2010, 01:01
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 729
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Entender lo que hay que hacer en este ejercicio.

Vaya, no sabía que tenía esa librería. Lo tendré en cuenta y gracias.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar

Etiquetas: entender
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 11:27.