+ 2
syntax error: string indices must be integers
no entiendo que pasa porque en la línea 10 (if int(ime[lamitad]) == int(ime[lamitad+1]) ) ime = input("Enter a number") lngth = len(ime) lamitad = 0 paroimpar = "h" if lngth%2==0: paroimpar = "par" lamitad=len(ime) / 2 - 1 if int(ime[lamitad]) == int(ime[lamitad+1.0]): print ("si es palindromo") else: ("no es palindromo") else: lamitad= len(ime) / 2 - 1.5 paroimpar = "impar" yo ya le puse un int al principio con unos parentesis pero me sigue apareciendo ese error, no se como solucionarlo
12 Antworten
+ 2
nacho agost para que el número sea completo
+ 2
¿Está comprobando si un número es un palíndromo?
+ 2
nacho agost entonces suficiente:
ime = input()
if ime == ime[::-1]:
print ("si es palindromo")
else:
print("no es palindromo")
+ 1
You are using index [lamitad + 1.0], which is a float...
Just delete .0, so it is an integer...
0
Julia Shabanova ahi estas diciendo que el problema empieza ahí, pero yo a medida que iba avanzando iba probando con el metodo print y en esa parte no tuve problemas :(
0
Julia Shabanova ahi pude jajaja el problema estaba en que habia puesto un solo / enves de // cual es la diferencia?
0
Julia Shabanova si jaja, esa sería la idea; para responder también una pregunta del proyecto euler ese
0
Use round() in line 7 and replace all float expressions for integers... Then it should be working :)
0
G B how?
0
ime = input("Enter a number")
lngth = len(ime)
lamitad = 0
paroimpar = "h"
if lngth%2==0:
paroimpar = "par"
lamitad=round(len(ime) / 2 - 1) #use round here
if int(ime[lamitad]) == int(ime[lamitad+1]):
print ("si es palindromo")
else:
print("no es palindromo")
else:
lamitad= len(ime) / 2 - 1
paroimpar = "impar"
0
G B ah that looks like put // maybe is the same, but hey look at the line 15 you putted lamitad=len(ime)/2-1 but the -1 must be -1.5 because always will have 0,5 more than neccessary. sorry for my english but is no posible to rest 1.5?
0
Maybe use math.floor(len(ime) / 2 - 1.5), this will round down the expression(and don't forget to import math)