Crear variable Str que represente cualquier numer 1 o 100, etc... Ayuda.
Publicado por mat (1 intervención) el 09/11/2012 18:41:38
Hola, estoy aprendiendo python hace poco, lo utilizo principalmente para hacer una preedicion de textos en pdf antes de pasarlos a Latex.
El problema: Escribo o he tartado de escribir un programa para que me elimine una palabra seguida de un numero por ejemplo: Capitulo 1, Capitulo 2, todo va bien hasta que llegamos a 10 o 100, ya que la variable str(x) al parecer no me toma estos rangos nose porque, ademas necesito que cuando encuentre la palabra borre dos lineas anteriores a la misma palabra encontrada.
Codigo:
El problema es que me borra por ejemplo PIOTR KROPOKTIN pero me deja uno o dos numeros dando vuelta que deseo sacar (el 11 seria el residuo):
puestos a trazar los mapas, grabar los dibujos, componer los
textos e imprimirlos. Alegremente, todos juntos, dedicarán su
11 # este numero seguramente era algo como La conquista del pan 111 y me borro lo primero pero no he logrado hacer una variable que me borre todo el numero o que por ejemplo me borre la linea al encontrar cierta palabra.
Ojala me puedan ayudar, gracias!
El problema: Escribo o he tartado de escribir un programa para que me elimine una palabra seguida de un numero por ejemplo: Capitulo 1, Capitulo 2, todo va bien hasta que llegamos a 10 o 100, ya que la variable str(x) al parecer no me toma estos rangos nose porque, ademas necesito que cuando encuentre la palabra borre dos lineas anteriores a la misma palabra encontrada.
Codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def quitar1():
f = open("probando",'r') #aqui abrimos el fichero con permisos de lectura
lineas = f.read() #guardamos su contenido en una variable
x=0
y=0
while True:
lineas = lineas.replace("LA CONQUISTA DEL PAN / " + str(x), "Aqz").replace(str(x) + " / PIOTR KROPOTKIN", "Bqz").replace(str(x) + "Bqz", "").replace("Aqz" + str(x), "").replace("Aqz", "").replace("Bqz", "")
#sustituimos la cadena por la cadena que especificamos, 2 variables.
x+=1
y+=1
if x==300:
x=0
if y==600:
break
f.close() #aqui cerramos el fichero
otro = open("probandosalida",'w') #abrimos el fichero con permisos de escritura
otro.write(lineas) #escribimos cadena
otro.close() #cerramos el fichero
#el problema es que me saca lo que deseo pero me deja Remplazo1 3 5 o 2 4 6... el x de arriva lo asigna con un valor del 1-9 si pasa a 10 no lo toma si le pongo doble str(x) no me toma el 0...
quitar1()
El problema es que me borra por ejemplo PIOTR KROPOKTIN pero me deja uno o dos numeros dando vuelta que deseo sacar (el 11 seria el residuo):
puestos a trazar los mapas, grabar los dibujos, componer los
textos e imprimirlos. Alegremente, todos juntos, dedicarán su
11 # este numero seguramente era algo como La conquista del pan 111 y me borro lo primero pero no he logrado hacer una variable que me borre todo el numero o que por ejemplo me borre la linea al encontrar cierta palabra.
Ojala me puedan ayudar, gracias!
Valora esta pregunta


0