Autor
|
Tema: [python] calcular impar y su doble. (Leído 14,908 veces)
|
Meta
|
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: # Introducir un valor. a = raw_input('introduce un número: ') if a % 2 == 0 and a * 2: print 'El número es par.' print a
Me da este error: 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
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
primero que todo debes hacer la conversion del raw_input ya que este devuelve un string. 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 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: (a/2)%2==0 que tambien es igual a: a%4==0
|
|
|
En línea
|
|
|
|
criskapunk
Desconectado
Mensajes: 277
|
Perdon por el offtopic, pero me parecio mejor preguntarlo aca. @Lord R.N.A. Como llegas a la conclusion de que: (a/2)%2==0
Es lo mismo que: 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
|
Perdon por el offtopic, pero me parecio mejor preguntarlo aca. @Lord R.N.A. Como llegas a la conclusion de que: (a/2)%2==0
Es lo mismo que: 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 
|
|
|
En línea
|
|
|
|
[L]ord [R]NA
Desconectado
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
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
|
Para que lo sepan. El resultado debe dar como dice abajo y lo explico de otra manera. 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
Mensajes: 277
|
Algo asi: def dobleImpar(n): if (n/2) % 2 != 0: print n, "es el doble de ", n/2, " que es impar" num = int(raw_input("Ingrese un numero: ")) dobleImpar(num)
Un saludo 
|
|
|
En línea
|
|
|
|
Meta
|
El def aún no debo usarlo. Lo intento hacer así. # Introducir un valor entero. a = int(raw_input('introduce un número: ')) b = a / 2 if a % 2 == 0: print a, 'es el doble de ', b, 'que es impar.'
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
Mensajes: 277
|
Lo que haces en tu script es comprobar que a sea par, y lo que tenes que verificar es que b sea impar. a = int(raw_input("Ingrese un numero: ")) b = a/2 if b % 2 != 0: # Comprobamos que la mitad del numero ingresado sea impar print a, "es el doble de ", b, " que es impar" 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
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
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
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Calcular entropía multiescala [Python]
Scripting
|
Yeison.Eng
|
2
|
6,785
|
17 Noviembre 2010, 00:22 am
por Gabriela
|
|
|
Par impar
Java
|
Meta
|
3
|
4,189
|
17 Febrero 2011, 00:13 am
por Meta
|
|
|
[python] Doble for con break
Scripting
|
kaiserr
|
6
|
2,969
|
4 Junio 2014, 02:07 am
por kaiserr
|
|
|
[Python] - calcular el max y el min de una matriz de 4x4
Scripting
|
jhonnymn3
|
1
|
5,162
|
18 Noviembre 2014, 15:18 pm
por daryo
|
|
|
[javascript] ¿Par o impar?
Scripting
|
syncro_7
|
4
|
18,647
|
1 Octubre 2015, 06:39 am
por El Benjo
|
|