Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Instruccion repetitiva For

Estas en el tema de Instruccion repetitiva For en el foro de Python en Foros del Web. Buenas tardes amigos, Estoy practicando un ejemplo en pyton en el cual utilizo for para definir un rango desde el 2 al 9 y este ...
  #1 (permalink)  
Antiguo 14/02/2015, 13:49
 
Fecha de Ingreso: diciembre-2012
Ubicación: Lima
Mensajes: 37
Antigüedad: 11 años, 11 meses
Puntos: 0
Pregunta Instruccion repetitiva For

Buenas tardes amigos,

Estoy practicando un ejemplo en pyton en el cual utilizo for para definir un rango desde el 2 al 9 y este se culcule y muestre su cuadrado de la siguiente manera.

Código Python:
Ver original
  1. def cuadrado(n):
  2.     r = n**2
  3.     print("El cuadrado de ",n ," es: ",r)
  4.  
  5.  
  6. for x in range(2, 9):
  7.     print(cuadrado(x))

Al ejecutarlo corre todo bien, pero no se porque en el prompt me aparece despues de cada respuesta, la palabra None, de la siguiente manera.

El cuadrado de 2 es: 4
None
El cuadrado de 3 es: 9
None
El cuadrado de 4 es: 16
None
El cuadrado de 5 es: 25
None
El cuadrado de 6 es: 36
None
El cuadrado de 7 es: 49
None
El cuadrado de 8 es: 64
None

Alguien podria explicarme porque susecede estoy.

Estoy utilizando Python 3.4.2
Gracias por su respuesta :)
__________________
**********
I can do it !!!
**********
  #2 (permalink)  
Antiguo 14/02/2015, 14:45
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: Instruccion repetitiva For

Cualaquier función en python si termina y no retornaste nada, retorna None.

La función cuadrado ya imprime lo que necesitas. No entiendo para que vuelves imprimir en el for.
  #3 (permalink)  
Antiguo 14/02/2015, 15:40
 
Fecha de Ingreso: diciembre-2012
Ubicación: Lima
Mensajes: 37
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Instruccion repetitiva For

Comprendi mi lapsus con lo de imprimir doble, en este caso modifice hice esta modificacion y ahora imprime defrente

Código Python:
Ver original
  1. for x in range(2, 9):
  2.     cuadrado(x)

pero no entiendo, la funcion cuadrado no estaba devolviendo una cadena de texto y esta despuesta esta esta siendo impresa por la funcion print(), cual seria la funcion que no estaria devolviendo nada?
__________________
**********
I can do it !!!
**********
  #4 (permalink)  
Antiguo 14/02/2015, 20:59
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: Instruccion repetitiva For

Cita:
Iniciado por xredesycx Ver Mensaje
pero no entiendo, la funcion cuadrado no estaba devolviendo una cadena de texto y esta despuesta esta esta siendo impresa por la funcion print(), cual seria la funcion que no estaria devolviendo nada?
No, la función cuadrado no esta devolviendo nada. Como puedes ver no hay ningún return en ningún lado.
  #5 (permalink)  
Antiguo 14/02/2015, 23:25
 
Fecha de Ingreso: diciembre-2012
Ubicación: Lima
Mensajes: 37
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Instruccion repetitiva For

Aya, claro tienes razon. OK Gracias por el apoyo razpeitia
__________________
**********
I can do it !!!
**********
  #6 (permalink)  
Antiguo 06/04/2015, 05:10
 
Fecha de Ingreso: abril-2015
Mensajes: 8
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Instruccion repetitiva For

Prueba esto:

Código Python:
Ver original
  1. def cuadrado(n):
  2.         r = n**2
  3.         return("El cuadrado de ",n ," es: ",r)
  4.      
  5.      
  6.     for x in range(2, 9):
  7.         print(cuadrado(x))

Etiquetas: for()
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 10:48.