Autor
|
Tema: [Python] carácteres y espacios (Leído 26,643 veces)
|
Meta
|
Hola: Ver ejercicio.a = "Ten a tus amigos cerca, pero mas a tus enemigos." for i in range(len(a)): print a[i]
He intentado y sigo con ello lo de detectar los espacios. Estaba curioseando si esto vale. ord(" ") o el chr(32). 32 decimal es Espacio según la tabla ASCII. http://es.wikipedia.org/wiki/ASCIIHe intentado así pero no, ya que sólo cuenta números y quiero espacio que hay en la cadena. a = "Ten a tus amigos cerca, pero mas a tus enemigos." contador = 0 for i in range(len(a)): print a[i] if chr(32) == i: contador+=1 print contador
No me sale nada. ¿Alguna sugerencia? a = "Ten a tus amigos cerca, pero mas a tus enemigos." contador = 0 for i in range(len(a)): print a[i] if chr(32) == range(len(a)): contador+=1 print contador
Lo que entiendo que tengo que hacer es, acumular en una variable += la cantidad de espacios que contenga esa cadena de carácteres. Saludo.
|
|
« Última modificación: 26 Octubre 2010, 17:04 pm por Meta »
|
En línea
|
|
|
|
criskapunk
Desconectado
Mensajes: 277
|
Buenas MetaEn el primer codigo: for i in range(len(a)): print a[i]
Esto creo que hace lo mismo for i in a: print i
Podes hacer algo asi: a = "Ten a tus amigos cerca, pero mas a tus enemigos." j = 0 for i in a: if chr(32) == i: j += 1 print j
Un saludo
|
|
|
En línea
|
|
|
|
xassiz~
|
#!/usr/bin/env python cadena = "Ten a tus amigos cerca, pero mas a tus enemigos." print cadena.count(' ')
|
|
|
En línea
|
|
|
|
Meta
|
Me funciona y lo entiendo el ejercicio de arriba, muchísimas gracias. Ahora hay que hacer que cuente las mayúsculas.c = "LA muerte esta tAn sEgUra DE su victoria, que noS Da toDA una vida de ventajas." c = 0 for i in cad: if cad.upper() == i: c += 1 print c
Que sepa el upper.() detecta las mayúsculas, perdón, las pasa de minúsculas a mayúsculas. Será por eso que no me funciona. Así que lo hago de otra manera. cadena = "LA muerte esta tAn sEgUra DE su victoria, que noS Da toDA una vida de ventajas." c = 0 for i in cad: if if (cadena >= "A" and cadena <= "Z") == i: c += 1 print c
No funciona, resultado es 0.
|
|
|
En línea
|
|
|
|
xassiz~
|
Te pongo dos formas: #!/usr/bin/env python cadena = "LA muerte esta tAn sEgUra DE su victoria, que noS Da toDA una vida de ventajas." for i in cadena.replace(' ',''): if i == i.upper(): print "%c - mayuscula" % i else: print "%c - minuscula" %i
#!/usr/bin/env python cadena = "LA muerte esta tAn sEgUra DE su victoria, que noS Da toDA una vida de ventajas." for i in cadena.replace(' ',''): if i.isupper(): print "%c - mayuscula" % i else: print "%c - minuscula" % i
Mola, hacía tiempo que no programaba en python
|
|
|
En línea
|
|
|
|
Meta
|
¿Qué significa el %C? Tengo entendido que el %d, decimal, el %f pare coma flotante, el %s se que está pero no me acuerdo y el %c no tengo idea. Hay instrucciones que has puesto que no debo usar ya que aún no he llegado con el libro, estoy en l apágina 152, ejercicio 160). Ver libro.Sigo intentando de mi manera. cad = "LA muerte esta tAn sEgUra DE su victoria, que noS Da toDA una vida de ventajas." c = 0 for i in cadena: if (ord("A") or ord("Z")) == i: c += 1 print c
|
|
|
En línea
|
|
|
|
xassiz~
|
%c es char (carácter).
Tu manera está mal, porque declaras "cad" y utilizas "cadena". Pero sigue siendo érronea la lógica.
Mira mi primer código, no decías que podías usar upper() ?
|
|
|
En línea
|
|
|
|
Meta
|
Si, pero el tuyo dice: isupper(), no upper(). Si funciona. Está muy bueno tu ejemplo, como resultado da esto: L - mayuscula A - mayuscula m - minuscula u - minuscula e - minuscula r - minuscula t - minuscula e - minuscula e - minuscula s - minuscula t - minuscula a - minuscula t - minuscula A - mayuscula n - minuscula s - minuscula E - mayuscula g - minuscula U - mayuscula r - minuscula a - minuscula D - mayuscula E - mayuscula s - minuscula u - minuscula v - minuscula i - minuscula c - minuscula t - minuscula o - minuscula r - minuscula i - minuscula a - minuscula , - mayuscula q - minuscula u - minuscula e - minuscula n - minuscula o - minuscula S - mayuscula D - mayuscula a - minuscula t - minuscula o - minuscula D - mayuscula A - mayuscula u - minuscula n - minuscula a - minuscula v - minuscula i - minuscula d - minuscula a - minuscula d - minuscula e - minuscula v - minuscula e - minuscula n - minuscula t - minuscula a - minuscula j - minuscula a - minuscula s - minuscula . - mayuscula Lo que pide es la cantidad en números las mayúsculas que hay. En este caso debe mostrar en pantalla 11. Tu código lo guardo que es interesante, pero debo hacer lo que me piden.
|
|
|
En línea
|
|
|
|
Shell Root
|
WAIT MOMENT, XD. Aquí se te dan posibles soluciones, en algunos casos ejemplos, ahora te toca implementarlo a tus necesidades.
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
Meta
|
Eso hago pero no me sale. cadena = "LA muerte esta tAn sEgUra DE su victoria, que noS Da toDA una vida de ventajas." contador = 0 for i in cadena: if (ord("A") or ord("Z")) == i: contador += 1 print contador
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
programa convierte caracteres alfanumericos a morse (python)
Scripting
|
Glas.jfcc
|
3
|
6,070
|
9 Junio 2012, 05:14 am
por Jirp96
|
|
|
[python] ayuda caracteres especiales tildes y ñ python
Python
|
asdexiva
|
5
|
10,765
|
10 Agosto 2014, 01:49 am
por asdexiva
|
|
|
(Python) Admitir espacios
Scripting
|
BigKaz
|
6
|
4,120
|
3 Diciembre 2016, 11:02 am
por tincopasan
|
|
|
Quitar espacios de un cadena de caracteres
Programación C/C++
|
Dato Vagabundo
|
1
|
2,422
|
12 Enero 2017, 16:07 pm
por ivancea96
|
|
|
Python, espacios para impresion en pantalla
Scripting
|
metalost
|
1
|
3,051
|
21 Mayo 2017, 01:08 am
por engel lex
|
|