Python - Saber en que posiciones está un determinado digito

 
Vista:
sin imagen de perfil
Val: 34
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Saber en que posiciones está un determinado digito

Publicado por Jose (17 intervenciones) el 28/11/2018 13:03:32
Buenos dias.
Estoy buscando la forma de que python me diga las posiciones en las que se encuentra un digito determinado dentro de un numero. Por ejemplo, el digito 3. Lo mas que he conseguido es que me diga la posición del primero que encuentra. En el siguiente ejemplo me dice que está en la posicion 2, pero no me dice nada del que está en la posicion 10:

1
2
3
n=("56387798732")
posicion=n.index("3")
print ("En el número ", n, "el digito 3 se encuentra en la posición", (posicion))

¿Me podeis ayudar? Gracias
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

Saber en que posiciones está un determinado digito

Publicado por dario (70 intervenciones) el 28/11/2018 13:59:12
Hola, te dejo esto por si te sirve de ayuda.
Salu2.

1
2
3
4
5
6
7
8
9
n= input('ingrese un numero largo:')
digito = input('Ingrese un digito:')
pos = 0
 
for i in n:
  if i == digito:
    print('digito %c, posicion %d' %(i,pos))
 
  pos += 1
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
sin imagen de perfil
Val: 34
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Saber en que posiciones está un determinado digito

Publicado por Jose (17 intervenciones) el 28/11/2018 14:08:19
Gracias Dario. Es mas o menos lo que estoy buscando . No acabo de entender la ultima linea "pos+=1" . Veo que sin ella sin ella siempre da la posicion 0, pero no entiendo porqué
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
sin imagen de perfil
Val: 270
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Saber en que posiciones está un determinado digito

Publicado por dario (70 intervenciones) el 29/11/2018 04:13:01
Ejm:
n = '2334'
digito = '3'
pos = 0, las posiciones en python siempre comienzan en cero (0).

for i in n
Aca i toma los valores de n (de uno en uno),la primera vez i vale '2'.

if i == digito
Aca compara si i ('2') es igual a la variable digito, si es asi imprime el digito y la posicion, si no es igual incrementa la posicion en 1 pos += 1 (es lo mismo que pos = pos + 1).
Luego regresa al for para seguir con el siguiente caracter.
Espero lo entiendas.
Salu2.
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
sin imagen de perfil
Val: 34
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Saber en que posiciones está un determinado digito

Publicado por Jose (17 intervenciones) el 29/11/2018 08:41:51
Genial tu respuesta. Lo he entendido perfectamente.
Gracias de nuevo
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
sin imagen de perfil
Val: 34
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Saber en que posiciones está un determinado digito

Publicado por Jose (17 intervenciones) el 29/11/2018 17:44:23
Abusando de tu amabilidad, te agradecería una ultima ayuda.
Estoy intentando añadirle un par de condiciones previas, por ejemplo, que el numero introducido no sea ni negativo ni igual a cero, y no me funciona. No se donde está el error. He probado colocando el "else" en línea con el while y tampoco me cuenta los digitos.
Podrias decirme que estoy haciendo mal?
Te pongo lo que he hecho:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
while True:
    pos=0
    n=input("Ingrese un número positivo mayor que 0: ")
    if int(n)<0 :
        print("El numero introducido es negativo")
        break
    elif int(n) ==0:
            print("El cero no es un numero válido")
            break
    print (n)
    digito = input('Ingrese un digito:')
    else:
        for i in n:
           if i == digito:
            print('digito %c, posicion %d' %(i,pos))
        pos += 1
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
sin imagen de perfil
Val: 1.316
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Saber en que posiciones está un determinado digito

Publicado por tincopasan (387 intervenciones) el 29/11/2018 21:23:02
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
while True:
    pos=0
    n=input("Ingrese un número positivo mayor que 0: ")
 
    if int(n) < 0 :
 
        print("El numero introducido es negativo")
        break
 
    elif int(n) ==0:
            print("El cero no es un numero válido")
            break
 
    else:
        print(n)    # estas 2 lineas deben ir después del else
        digito = input('Ingrese un digito:')
        for i in n:
            if i == digito:
                print('digito %c, posicion %d' %(i,pos))
            pos += 1
otra cosa como comentario con esta función te devuelve la posición según python o sea:
número=1234
digito= 2
posición=1 (bien en python) pero en una lectura "normal" la posición es 2, así que queda en vos como debe ser interpretada.en todo caso solo sería cambiar:
1
pos=1
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
sin imagen de perfil
Val: 34
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Saber en que posiciones está un determinado digito

Publicado por Jose (17 intervenciones) el 29/11/2018 21:52:49
Gracias otra vez. Llevo todo el dia dandole vueltas y no lograba saber donde estaba el error
Saludos
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