Python - funciones y estructuras de repetición

 
Vista:
sin imagen de perfil
Val: 14
Ha disminuido su posición en 9 puestos en Python (en relación al último mes)
Gráfica de Python

funciones y estructuras de repetición

Publicado por Vladimir Thompson (7 intervenciones) el 24/09/2019 20:08:40
Hola buenas tardes, agradecería si me pueden ayudar con esto:

funcion_f3(num):

La función f3 que recibe un valor entero mayor o igual a uno y regresa el resultado de la siguiente serie: funcion_f3(N) = 10 - 11 + 12 - 13 .... Por ejemplo:

funcion_f3(2) = 10 - 11 = -1
funcion_f3(3) = 10 - 11 + 12 = 11


Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Héctor Madriz
Val: 361
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

funciones y estructuras de repetición

Publicado por Héctor Madriz (69 intervenciones) el 25/09/2019 04:52:46
Buen día, prueba esto:

1
2
3
4
5
6
Expresion=Signo=""
Num=int(input("Numero: "))
for Cont in range(Num):
    Expresion+=Signo+str((10+Cont))
    Signo="+" if Signo=="-" else "-"
print("f3("+str(Num)+")="+Expresion +"="+ str(eval(Expresion)))

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Marcos
Val: 59
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

funciones y estructuras de repetición

Publicado por Marcos (14 intervenciones) el 25/09/2019 15:55:31
Excelente script Hector, creo q Vladimir lo requiere en una función...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Héctor Madriz
Val: 361
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

funciones y estructuras de repetición

Publicado por Héctor Madriz (69 intervenciones) el 25/09/2019 18:58:50
Buen día, también prueba esto:

Si quieres mostrar solo el resultado
1
2
3
def f3(Num):
    return (sum([(10+N)*1 if N%2==0 else (10+N)*-1 for N in range(Num)]))
print(f3(int(input("Numero: "))))

Si quieres mostrar la expresión matemática y el resultado
1
2
3
4
5
6
7
def f3(Num):
    Expresion=Signo=""
    for Cont in range(Num):
        Expresion+=Signo+str((10+Cont))
        Signo="+" if Signo=="-" else "-"
    return "f3("+str(Num)+")="+Expresion +"="+ str(eval(Expresion))
print(f3(int(input("Numero: "))))

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 14
Ha disminuido su posición en 9 puestos en Python (en relación al último mes)
Gráfica de Python

funciones y estructuras de repetición

Publicado por Vladimir (7 intervenciones) el 26/09/2019 01:03:04
Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Héctor Madriz
Val: 361
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

funciones y estructuras de repetición

Publicado por Héctor Madriz (69 intervenciones) el 26/09/2019 01:16:27
Siempre a la orden amigo...

si lo deseas elimina el *1 ya que es solo descriptivo y ademas reducirlo así:
1
print((sum([(10+N) if N%2==0 else (10+N)*-1 for N in range(int(input("Numero: ")))])))

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de kip
Val: 1.120
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

funciones y estructuras de repetición

Publicado por kip (257 intervenciones) el 25/09/2019 15:37:02
Hola, no es necesario usar eval, no te aconsejo usarlo, podrias usar algo simple como esto:

1
2
3
4
5
6
7
8
9
10
11
def funcion_f3(num):
  result = 0
 
  for n in range(num):
    result += - (start + n) if n % 2 else start + n
 
  return result
 
print(funcion_f3(3)) # 11
print(funcion_f3(1)) # 10
print(funcion_f3(2)) # -1

Valida que el argumento de la funcion sea mayor o igual a 1 y listo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 14
Ha disminuido su posición en 9 puestos en Python (en relación al último mes)
Gráfica de Python

funciones y estructuras de repetición

Publicado por Vladimir (7 intervenciones) el 26/09/2019 16:29:16
Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar