Autor
|
Tema: [python] calcular impar y su doble. (Leído 16,615 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 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: que tambien es igual a:
|
|
|
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
|
7,290
|
17 Noviembre 2010, 00:22 am
por Gabriela
|
|
|
Par impar
Java
|
Meta
|
3
|
4,605
|
17 Febrero 2011, 00:13 am
por Meta
|
|
|
[python] Doble for con break
Python
|
kaiserr
|
6
|
3,550
|
4 Junio 2014, 02:07 am
por kaiserr
|
|
|
[Python] - calcular el max y el min de una matriz de 4x4
Python
|
jhonnymn3
|
1
|
5,774
|
18 Noviembre 2014, 15:18 pm
por daryo
|
|
|
[javascript] ¿Par o impar?
Scripting
|
syncro_7
|
4
|
19,969
|
1 Octubre 2015, 06:39 am
por El Benjo
|
|