Python - obtener los dígitos impares

 
Vista:
sin imagen de perfil
Val: 30
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

obtener los dígitos impares

Publicado por mike (11 intervenciones) el 19/06/2019 02:11:41
saludos
¿como puedo hacer esto en python 2.7?

Los números de las claves de dos cajas fuertes están mezcladas en un número entero llamado clave maestra. Determine ambas claves, la primera clave se construye con los dígitos impares de la clave maestra y la segunda con los pares.
• Ejemplo: Clave Maestra= 12345, clave1=135, clave2=24.

gracias por ayudarme, soy nuevo y quiero aprender
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 270
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

obtener los dígitos impares

Publicado por dario (70 intervenciones) el 19/06/2019 05:57:42
Esto es lo que quieres.
Salu2.

1
2
3
4
5
6
7
8
9
10
11
12
claveMaestra = [1,2,3,4,5]
clave1 = []
clave2 = []
 
for i in claveMaestra:
  if i % 2 != 0:
    clave1.append(i)
  else:
    clave2.append(i)
 
print clave1
print clave2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 30
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

obtener los dígitos impares

Publicado por mike (11 intervenciones) el 20/06/2019 05:18:27
EXCELENTE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 1.207
Oro
Ha aumentado 1 puesto en Python (en relación al último mes)
Gráfica de Python

obtener los dígitos impares

Publicado por joel (193 intervenciones) el 19/06/2019 10:11:19
El código de Dario es perfecto!!!

Otra manera puede ser utilizando filter()

1
2
3
4
5
6
7
claveMaestra = [1,2,3,4,5]
 
clave1=filter(lambda x: x % 2 != 0, claveMaestra)
clave2=filter(lambda x: x in clave2, claveMaestra)
 
print clave1
print clave2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de kip
Val: 1.141
Oro
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

obtener los dígitos impares

Publicado por kip (257 intervenciones) el 19/06/2019 21:47:20
Hola, te dejo otra forma por si te sirve:

1
2
3
4
5
6
7
8
9
10
11
12
13
from math import ceil, log10
 
master_key = 12345
clave1 = clave2 = 0
 
while master_key:
  master_key, digit = divmod(master_key, 10)
  if digit & 1:
    clave1 += digit * (10 ** ceil(log10(clave1 or 1)))
  else:
    clave2 += digit * (10 ** ceil(log10(clave2 or 1)))
 
print(clave1, clave2)

O puede ser tambien:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from math import floor, log10
 
master_key = 12345
clave1 = clave2 = 0
 
while master_key:
  digit, master_key = divmod(master_key, 10 ** floor(log10(master_key)))
 
  if digit & 1:
    clave1 = clave1 * 10 + digit
  else:
    clave2 = clave2 * 10 + digit
 
print(clave1, clave2)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar