Python - tengo un problema con un tutorual

 
Vista:

tengo un problema con un tutorual

Publicado por Adrymc96 (2 intervenciones) el 27/07/2012 01:16:14
hola, estoy siguiendo el tutorial de pythonya(http://pythonya.appspot.com), para aprender Python, y en uno de ellos me ha surgido una duda, es la siguiente. En el tutorial 18, ponen como ejercicio resuelto un programa que genera aleatoriamente un valor y mas tarde comprueba si es capicua o no, el codigo es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import random
 
valor=random.randint(1,1000000)
print valor
print '<br>'
cadena=str(valor)
indice=-1
iguales=0
for x in range(0,len(cadena)/2):
    if cadena[x]==cadena[indice]:
        iguales=iguales+1
    indice=indice-1
if iguales==(len(cadena)/2):
    print 'Es capicua'
else:
    print 'No es capicua'


la parte que no entiendo de esto es la linea de "for x in range(0,len(cadena)/2):" no entiendo porque hay que poner el 0 y porque lo divide entre 2
Gracias de antemano :D
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
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

tengo un problema con un tutorual

Publicado por xve (1646 intervenciones) el 27/07/2012 08:48:26
Si, lo que hace en la linea:
for x in range(0,len(cadena)/2):
es hacer un bucle desde la posición 0 hasta la mitad de la cadena

En esta linea (indice vale -1):
if cadena[x]==cadena[indice]:
va comparando, por ejemplo el valor de cadena[0] con cadena[-1], que es igual que el primer carácter con el ultimo.
En el siguiente ciclo, compara cadena[1] con cadena[-2], que es igual que el segundo carácter con el penúltimo carácter...

Espero habértelo aclarado.
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

tengo un problema con un tutorual

Publicado por Adrymc96 (2 intervenciones) el 27/07/2012 09:48:48
Aaa vale, muchisimas gracias de verdad, ya lo entiendo :D
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