elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Duda en Python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda en Python  (Leído 4,020 veces)
VonN

Desconectado Desconectado

Mensajes: 151


Learnin' Python&C++


Ver Perfil
Duda en Python
« en: 6 Julio 2009, 04:09 am »

Hola acabo de iniciarme en Python, y tengo el siguiente problema:

Código
  1. import math
  2. a=raw_input("Ingresa a")
  3. b=raw_input("Ingresa b")
  4. c=raw_input("Ingresa c")
  5. z=pow(b,2)
  6. d=z-4*a*c
  7. if d>0:
  8.    w=sqrt(d)
  9.    x1=(-b+w)/(2*a)
  10.    x2=(-b-w)/(2*a)
  11.    print x1
  12.    print x2
  13. elif d==0:
  14.    x=-b/(2*a)
  15.    print x
  16. else:
  17.    print "No hay solucion en reales"

Pero me larga el siguiente error:
Código:
<module>
    z=pow(b,2)
TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'

¿A qué se debe?


En línea




Se toma por necios a aquellos que dicen lo que todos pesamos
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Duda en Python
« Respuesta #1 en: 6 Julio 2009, 13:32 pm »

Citar
¿A qué se debe?
Código
  1. z=pow(b,2)

Cual es el problema? ... el problema es que raw_input devuelve un valor de tipo string, por lo que al querer elevar la b da error, .. letra al cuadrado = error :P

Debes de hacer algo como:
Código
  1. a=int(input("Ingresa a"))

También nota que he sustituído el raw_input por input, ya que a partir de la versión 3 de python se ha reemplazado dicha función (quizás has descargado python 2.6), por lo que deja de funcionar

Saludos


En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
VonN

Desconectado Desconectado

Mensajes: 151


Learnin' Python&C++


Ver Perfil
Re: Duda en Python
« Respuesta #2 en: 6 Julio 2009, 15:41 pm »

Código
  1. a=int(input("Ingresa a"))

Eso era precisamente, hace unas horas comencé a leer la propia documentación de Python. Muchas gracias Novlucker, aqui dejo el código:
Código
  1. import math
  2. a=input("Ingresa a")
  3. b=input("Ingresa b")
  4. c=input("Ingresa c")
  5. z=pow(b,2)
  6. d=z-4*a*c
  7. if d>0:
  8.    w=math.sqrt(d)
  9.    x1=(-b+w)/(2*a)
  10.    x2=(-b-w)/(2*a)
  11.    print x1
  12.    print x2
  13. elif d==0:
  14.    x=-b/(2*a)
  15.    print x
  16. else:
  17.    print "No hay solucion en reales"

Solo me ha quedado una duda. En python es necesario declarar los tipos de variables? Estuve leyendo un manual y hasta ahora no he visto que lo haga  :-\ o tal vez se me salteó :S

Un saludo!
En línea




Se toma por necios a aquellos que dicen lo que todos pesamos
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Duda en Python
« Respuesta #3 en: 6 Julio 2009, 15:52 pm »

En realidad es una de las características de python .. el tipado dinámico .. lo que quiere decir que no es necesario declarar el tipo de una variable, sino que el tipo se determina en tiempo de ejecución según el valor que se le haya asignado  :P

Si no estas seguro que tipo de dato contiene una variable puedes averiguarlo con type, revisando tu primer ejemplo

Código
  1. a=input("Ingresa a")
  2. print(type(a))

Saludos :D
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
VonN

Desconectado Desconectado

Mensajes: 151


Learnin' Python&C++


Ver Perfil
Re: Duda en Python
« Respuesta #4 en: 6 Julio 2009, 16:48 pm »

Citar
Si no estas seguro que tipo de dato contiene una variable puedes averiguarlo con type

Claro eso es lo que ejemplificaba el libro.  :-\

Citar
no es necesario declarar el tipo de una variable, sino que el tipo se determina en tiempo de ejecución según el valor que se le haya asignado

 :xD Muchas gracias, esto me ha aclarado el panorama.

Un Saludo!
En línea




Se toma por necios a aquellos que dicen lo que todos pesamos
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda con for in aumento [python]
Scripting
Ricardo95 1 3,525 Último mensaje 2 Diciembre 2010, 18:12 pm
por xassiz~
Generacion de cc en Python[Duda]
Scripting
Ricardo95 3 2,870 Último mensaje 27 Enero 2011, 12:43 pm
por Ricardo95
[Duda] python celular
Dispositivos Móviles (PDA's, Smartphones, Tablets)
Trenico 0 3,857 Último mensaje 3 Marzo 2011, 21:03 pm
por Trenico
Duda, sumas en Python
Scripting
JUSTDOIT! 3 4,303 Último mensaje 6 Marzo 2011, 17:10 pm
por Shell Root
Duda cookie python
Scripting
Ricardo95 2 2,485 Último mensaje 18 Abril 2011, 11:35 am
por Ricardo95
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines