Hola, perdón por la molestia pero tenía duda en ese ejercicio porque no entiendo cual seria la primera condición que va con el while
Hola Milagros.
Te dejo algunos consejos para que pienses este ejercicio:
1) Las condiciones que llevan a imprimir los mensaje "n y m deben ser positivos" y "n debe ser menor o igual que m" conviene verificarlas antes de ingresar al while.
Es decir primero haces un if, elif, else con estas condiciones. Si todo esta bien, adentro del else agregas el while.
Si no lo haces de esta forma, los mensajes se van a imprimir muchas veces (1 por cada iteracion del ciclo).
2) En el while se suele usar una "variable de control".
La idea es que cuando esa variable de control llegue a cierto punto (o cumpla cierta condición) se salga del ciclo.
En este caso yo declararia una variable numero = n.
No te olvides de ir incrementando la variable numero (dentro del while) para que en algun momento se salga del ciclo.
3) La condición puede pensarse simplemente como numero <= m. Mientras eso suceda tenes que hacer lo que corresponda con productoria y cambiar la variable numero como dijimos en 2).
Fijate si con esto sale y si no volvé a escribir por aqui.
Saludos
Te dejo algunos consejos para que pienses este ejercicio:
1) Las condiciones que llevan a imprimir los mensaje "n y m deben ser positivos" y "n debe ser menor o igual que m" conviene verificarlas antes de ingresar al while.
Es decir primero haces un if, elif, else con estas condiciones. Si todo esta bien, adentro del else agregas el while.
Si no lo haces de esta forma, los mensajes se van a imprimir muchas veces (1 por cada iteracion del ciclo).
2) En el while se suele usar una "variable de control".
La idea es que cuando esa variable de control llegue a cierto punto (o cumpla cierta condición) se salga del ciclo.
En este caso yo declararia una variable numero = n.
No te olvides de ir incrementando la variable numero (dentro del while) para que en algun momento se salga del ciclo.
3) La condición puede pensarse simplemente como numero <= m. Mientras eso suceda tenes que hacer lo que corresponda con productoria y cambiar la variable numero como dijimos en 2).
Fijate si con esto sale y si no volvé a escribir por aqui.
Saludos
Perfecto, muchisimas gracias!!
Profe yo lo estoy planteando de esta manera, pero pasa que con la condicion de que numero<=m no llega al numero que me aparece en el ejemplo, solo llega a 22. O estoy haciendo mal la productoria.
Hola Milagros.
Veo que pudiste resolverlo. Muy bien!.
El tema era que dentro del while se debe incrementar la variable de control (que despues llamaste i).
Una forma alternativa y parecida de escribirlo es la siguiente:
n = int(raw_input())
m = int(raw_input())
if n<1 or m<1:
Veo que pudiste resolverlo. Muy bien!.
El tema era que dentro del while se debe incrementar la variable de control (que despues llamaste i).
Una forma alternativa y parecida de escribirlo es la siguiente:
n = int(raw_input())
m = int(raw_input())
if n<1 or m<1:
print "n y m deben ser positivos"
elif n>m:
print "n debe ser menor o igual que m"
else:
i = n
prod = 1
while i <= m:
prod *= i
i += 1
print prod
Saludos