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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [python] calcular impar y su doble.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [python] calcular impar y su doble.  (Leído 12,894 veces)
Meta


Desconectado Desconectado

Mensajes: 3.327



Ver Perfil WWW
[python] calcular impar y su doble.
« en: 2 Octubre 2010, 15:12 pm »

Buenas:

¿Cómo hago con Python 2.6, al introducir un número, determine si éste es el doble de un número impar?

Por ahora he hecho esto:
Código
  1. # Introducir un valor.
  2. a = raw_input('introduce un número: ')
  3.  
  4.  
  5.  
  6. if a % 2 == 0 and a * 2:
  7.    print 'El número es par.'
  8.    print a

Me da este error:
Código:
raceback (most recent call last):
  File "/home/acaymo/NetBeansProjects/tema4a6/src/tema4a6.py", line 25, in <module>
    if a % 2 == 0 and a * 2:
TypeError: not all arguments converted during string formatting

Saludo.


En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: [python] calcular impar y su doble.
« Respuesta #1 en: 2 Octubre 2010, 15:46 pm »

primero que todo debes hacer la conversion del raw_input ya que este devuelve un string.

Código
  1. a=int(raw_input('introduce un número: '))

Si te trata de el doble de un numero par primero que todo cuando es dividido por 2 debe dar un numero par, por lo cual nos quedaria

Código:
a%2==0

pero de esa division no necesitamos saber si ese es el numero sino si la mitad de ese numero tambien es par... por lo cual nos quedaria:

Código:
(a/2)%2==0

que tambien es igual a:

Código:
a%4==0


En línea

criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: [python] calcular impar y su doble.
« Respuesta #2 en: 2 Octubre 2010, 17:57 pm »

Perdon por el offtopic, pero me parecio mejor preguntarlo aca.

@Lord R.N.A.

Como llegas  a la conclusion de que:
Código
  1. (a/2)%2==0
Es lo mismo que:
Código
  1. a%4==0

Es lo unico que no entendi, ya que use la primer forma para resolverlo.

Un saludo y gracias ;)
En línea

Franr

Desconectado Desconectado

Mensajes: 7



Ver Perfil WWW
Re: [python] calcular impar y su doble.
« Respuesta #3 en: 2 Octubre 2010, 18:24 pm »

Perdon por el offtopic, pero me parecio mejor preguntarlo aca.

@Lord R.N.A.

Como llegas  a la conclusion de que:
Código
  1. (a/2)%2==0
Es lo mismo que:
Código
  1. a%4==0

Es lo unico que no entendi, ya que use la primer forma para resolverlo.

Un saludo y gracias ;)

Extremo sobre medio, matemática de primer grado che ;D
En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: [python] calcular impar y su doble.
« Respuesta #4 en: 2 Octubre 2010, 18:28 pm »

porque '(a/b)/c' es igual a '(a/b)(1/c)' si multiplicas es igual a 'a/(b*c)'... disculpa la explicacion tan corta, estoy desde el celular.
En línea

Meta


Desconectado Desconectado

Mensajes: 3.327



Ver Perfil WWW
Re: [python] calcular impar y su doble.
« Respuesta #5 en: 2 Octubre 2010, 18:45 pm »

Para que lo sepan.

El resultado debe dar como dice abajo y lo explico de otra manera.

Citar
Diseña un programa que, dado un número entero,  determine si éste es el doble de un número impar.

Ejemplo: 14 es el doble de 7, que es impar.
En línea

criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: [python] calcular impar y su doble.
« Respuesta #6 en: 2 Octubre 2010, 18:54 pm »

Algo asi:

Código
  1. def dobleImpar(n):
  2. if (n/2) % 2 != 0:
  3. print n, "es el doble de ", n/2, " que es impar"
  4.  
  5. num = int(raw_input("Ingrese un numero: "))
  6. dobleImpar(num)

Un saludo ;)
En línea

Meta


Desconectado Desconectado

Mensajes: 3.327



Ver Perfil WWW
Re: [python] calcular impar y su doble.
« Respuesta #7 en: 2 Octubre 2010, 19:03 pm »

El def aún no debo usarlo.

Lo intento hacer así.

Código
  1. # Introducir un valor entero.
  2. a = int(raw_input('introduce un n&#250;mero: '))
  3. b = a / 2
  4.  
  5. if a % 2 == 0:
  6.    print a, 'es el doble de ', b, 'que es impar.'
  7.  

Su resultado es este:
Supuestamente da bien.
introduce un número: 14
14 es el doble de  7 que es impar.


Si introduzco el 16 su resultado es este:
introduce un número: 16
16 es el doble de  8 que es impar.


El 8 es par, no impar.

¿Respecto al tu código, puedes hacerlo similar al mio pero que funcione?

Gracias.
En línea

criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: [python] calcular impar y su doble.
« Respuesta #8 en: 2 Octubre 2010, 19:25 pm »

Lo que haces en tu script es comprobar que a sea par, y lo que tenes que verificar es que b sea impar.

Código
  1. a = int(raw_input("Ingrese un numero: "))
  2. b = a/2
  3.  
  4. if b % 2 != 0:    # Comprobamos que la mitad del numero ingresado sea impar
  5. print a, "es el doble de ", b, " que es impar"
  6.  
  7. raw_input()

En caso de que la mitad del numero ingresado sea impar, mostrara el mensaje. En caso contrario, no hara nada.

Un saludo ;)
« Última modificación: 2 Octubre 2010, 19:26 pm por criska » En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [python] calcular impar y su doble.
« Respuesta #9 en: 2 Octubre 2010, 19:27 pm »

Exacto, solo tienes que verificar que la división es impar, porque el doble de cualquier número siempre será un par.

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
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Calcular entropía multiescala [Python]
Scripting
Yeison.Eng 2 6,051 Último mensaje 17 Noviembre 2010, 00:22 am
por Gabriela
Par impar
Java
Meta 3 3,822 Último mensaje 17 Febrero 2011, 00:13 am
por Meta
[python] Doble for con break
Scripting
kaiserr 6 2,501 Último mensaje 4 Junio 2014, 02:07 am
por kaiserr
[Python] - calcular el max y el min de una matriz de 4x4
Scripting
jhonnymn3 1 4,629 Último mensaje 18 Noviembre 2014, 15:18 pm
por daryo
[javascript] ¿Par o impar?
Scripting
syncro_7 4 16,259 Último mensaje 1 Octubre 2015, 06:39 am
por El Benjo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines