[Python] carácteres y espacios

Iniciado por Meta, 26 Octubre 2010, 17:01 PM

0 Miembros y 7 Visitantes están viendo este tema.

Shell Root

Pues,

Código (python) [Seleccionar]
#!/usr/bin/env python

cadena = "LA muerte esta tAn sEgUra DE su victoria, que noS Da toDA una vida de ventajas."
sContador = 0

for i in cadena.replace(' ',''):
if i.isupper():
sContador += 1

print sContador
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Meta

Eso lo he entendido, lo que no debo usar algo que aún no te enseña el PDF por ahora como el .replace. jejejeje. Por eso estoy maschuqueándome las neuronas por ello.

Gracias.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

xassiz~

Cita de: Meta en 26 Octubre 2010, 18:41 PM
Si, pero el tuyo dice: isupper(), no upper().
Mi primer código dice upper() no isupper().

Cita de: Meta en 26 Octubre 2010, 18:41 PM
Lo que pide es la cantidad en números las mayúsculas que hay. En este caso debe mostrar en pantalla 11.
Ponle un contador ahora y listo.

Cita de: Meta en 26 Octubre 2010, 18:54 PM
Eso lo he entendido, lo que no debo usar algo que aún no te enseña el PDF por ahora como el .replace. jejejeje. Por eso estoy maschuqueándome las neuronas por ello.
Lo puse para eliminar espacios, ya que tambien los tomaba isupper().

criskapunk

Otra forma :P

Código (python) [Seleccionar]
s = "A los Genios sE les PerDonan muChas coSas. Despues de su EjecUcion"
c = 0
for i in s:
    if ord(i) >= 65 and ord(i) <= 90:
        c+=1

print c


Un saludo

Meta

Cita de: criska en 26 Octubre 2010, 19:06 PM
Otra forma :P

Código (python) [Seleccionar]
s = "A los Genios sE les PerDonan muChas coSas. Despues de su EjecUcion"
c = 0
for i in s:
    if ord(i) >= 65 and ord(i) <= 90:
        c+=1

print c


Un saludo

Muchas gracias.  ;-)
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Meta

Estaba ahora intentando hacer lo que dice abajo.

Citar#  Haz programa que lea una cadena y visualice en
#   pantalla el mensaje "Contiene dígito" si contiene algún
#   dígito y "No contiene dígito" en caso contrario.

Hice esto y me da error.
Código (python) [Seleccionar]

cadena = "gfl 65476 vkhvfdiyu548 gh54ycg54 g5"
for i in cadena:
    if chr(i) >= 48 and chr(i) <= 57:
        print "%d - Contiene dígito." % i
    else:
        print "%d - No contiene dígito." % i


CitarTraceback (most recent call last):
  File "/home/user/NetBeansProjects/sic/src/sic.py", line 31, in <module>
    if chr(i) >= 48 and chr(i) <= 57:
TypeError: an integer is required
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/


Meta

Verdad.

Código (python) [Seleccionar]
cadena = "gfl 65476 vkhvfdiyu548 gh54ycg54 g5"
for i in cadena:
    if ord(i) >= 48 and ord(i) <= 57:
        print "%d - Contiene dígito." % i
    else:
        print "%d - No contiene dígito." % i


CitarFile "/home/user/NetBeansProjects/t/src/t.py", line 34, in <module>
    print "%d - No contiene dígito." % i
TypeError: %d format: a number is required, not str
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

criskapunk

Cambia estas lineas

Código (python) [Seleccionar]
print "%d - Contiene dígito." % i
print "%d - No contiene dígito." % i


Por

Código (python) [Seleccionar]
print "%c - Contiene dígito." % i
print "%c - No contiene dígito." % i


Un saludo ;)

Meta

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/