Aprender a manejar strings en Python te abrirá un mundo de posibilidades para manipular texto de forma sencilla y eficiente. Aquí te guiaremos a través de métodos clave y técnicas que te facilitarán trabajar con este tipo de dato tan versátil. ¡Comencemos!
¿Qué es un string y cómo podemos verificar subtextos?
Un string es una cadena de caracteres, y uno de sus usos más comunes es verificar si contiene un subtexto específico mediante el operador in. Imagina que tienes un texto:
El método len() nos ayuda a conocer el tamaño de un string, contando cada letra y espacio:
len(text)# Retorna 29, incluyendo espacios
¿Qué operaciones básicas podemos realizar con strings?
Los strings en Python ofrecen varios métodos para transformar texto. Vamos a revisar algunos:
# Convertir a mayúsculasprint(text.upper())# Convertir a minúsculasprint(text.lower())# Contar ocurrencias de un carácterprint(text.count('a'))# Intercambiar mayúsculas y minúsculasprint(text.swapcase())
¿Cómo usar métodos booleanos en strings?
Los métodos booleanos verifican condiciones y devuelven True o False:
# Comprobar si inicia con un subtextoprint(text.startswith("Ella"))# Retorna True# Comprobar si finaliza con un subtextoprint(text.endswith("Rust"))# Retorna False
¿Cómo modificar partes específicas de un string?
El método replace() nos permite cambiar partes específicas del texto:
# Reemplazar 'Python' por 'Go'print(text.replace("Python","Go"))
Métodos de formato y verificación adicionales
Además, los strings pueden ser capitalizados o convertidos en título, y verificados como dígitos:
text2 ="este es un título"# Capitalizar la primera letraprint(text2.capitalize())# Convertir en título cada palabraprint(text2.title())# Verificar si es un dígitoprint("123".isdigit())# Retorna True
Trucos avanzados: ¿Cómo mejorar la entrada del usuario?
Un reto común es manejar entradas que pueden estar en mayúsculas o minúsculas. Usando lower(), podemos normalizarlas:
user_input =input("Escribe piedra, papel o tijera: ").lower()
Con este cambio, aseguramos que nuestro programa interprete correctamente la entrada independientemente de cómo el usuario la escriba.
¡Explora y experimenta más con strings en Python! Cada método abre la puerta a nuevas aplicaciones y soluciones.
Hola a todos, les comparto la descripción de todas las funciones presentes en python en la versión 3.10
1. capitaliza Cambia todas las letras a minúsculas menos la primera.2. casefold Utilizada para compara cadenas sin importar el tamaño de los caracteres.3. center Formaseta una cadena alineandola al centro
4. count Cuenta las ocurrencias de una cadena
5. encode Codifica una cadena según la codificación deseada.6. endswith Comprueba si la cadena termina con una cadena específica.7. expandtabs Convierte los tabuladores en espacios.8. find Devuelve el índice de la cadena buscada o -1 si no se encuentra.9. format Formatea una cadena de forma avanzada.10. format_map Igual que format, pero sin hacer una copia de los parámetros.11. index Devuelve el índice de una cadena de caracteres o ValueError.12. isalnum Comprueba si la cadena es alfanumérica.13. isalpha Comprueba si la cadena es alfabética.14. isascci Comprueba si la cadena es ASCII.15. isdecimal Comprueba si la cadena es un decimal.16. isdigit Comprueba si la cadena es un dígito.17. isidentifier Comprueba si la cadena es un identificador.18. islower Comprueba si todos los caracteres son minúsculos.19. isnumeric Comprueba si la cadena es numérica.20. isprintable Comprueba si la cadena es imprimible.21. isspace Comprueba si la cadena solo contiene espacios.22. istitle Comprueba si la cadena tiene formato de título.23. isupper Comprueba si todos los caracteres son mayúsculas.24. join Une todos los elementos de un iterador en una cadena.25. ljust Justifica la cadena a la izquierda.26. lower Convierte la cadena a minúsculas.27. lstrip Elimina los caracteres de espacio de la izquierda.28. maketrans Crea una tabla de traducción para translate.29. partition Crea particiones de una cadena usando un separador.30. replace Reemplaza en la misma cadena un carácter por otro.31. removeprefix Devuelve una nueva cadena con el prefijo especificado como argumento eliminado si se encuentra en la cadena origina.32. removesuffix Devuelve una nueva cadena con el sufijo especificado
33. rfin Devuelve el índice de la cadena como parámetro buscando por la derecha o -1 si no se encuentra.34. rindex Devuelve el índice de la cadena como parámetro buscando por la derecha o ValueError.35. rjust Justifica la cadena a la derecha.36. rpartition Crea particiones de una cadena usando un separador y comenzando por la derecha.37. rsplit Devuelve una lista de cadenas al separar la original por un separador buscando por la derecha.38. rstrip Devuelve una lista de cadenas separando la original por saltos de línea.39. split Devuelve una lista de cadenas al separar la original por un separador.40. splitlines Devuelve una lista de cadenas separando la original por saltos de línea.41. startswith Comprueba si la cadena comienza con una cadena específica.42. strip Elimina los espacios iniciales y finales de la cadena.43. swapcase Cambia el tamaño de cada letra de minúsculas a Mayúsculas y las que estan en Mayúsculas a minúsculas.44. title Convierte la cadena a formato título.45. translate Reemplaza cada carácter por otro siguiendo una tabla de traducciones.46. upper Convierte la cadena a mayúsculas.47. zfill Añade ceros a la izquierda a una cadena numérica.
vale la pena que revises lo que has escrito ya que tienes varios typos y puedes entrar un información erronea a los demás compañeros partiendo desde la primera función que has puesto capitaliz**++a++** y es ++capitalize++
Excelente
Funcionó!
muy buena y yo que pensaba que era con el metodo de upper
@Jhonnier Alexander Castro hinojosa, tambien funciona upper, solo que ahora en las condicionales cuando evaluas tienes que colocarlo en mayuscula tambien
user_option =input("rock, paper or scissors => ").lower().strip()# .lower()=> change to lower case# .strip()=> remove leading and trailing whitespaces
hola Bryan, para que añadiste el .strip() , para que sirve?
Hola Rubén, lo dice en el comentario: "remueve espacios al principio y al final".
Saludos.
Mi aporte:
Excelente
Buenisimo!
CONCEPTOS CLAVES DE ESTA CLASE:
-- len: Devuelve un valor entero que indica la cantidad de caracteres en la cadena de entrada.
--size: Devuelve el número de elementos del array.
--upper: Cuando necesite asegurarse de que todos los caracteres en un campo , una variable o una expresión tengan solo mayúsculas.
--lower: Cuando necesite asegurarse de que todos los caracteres en un campo , una variable o una expresión tengan solo minúsculas.
--count: contar el número de apariciones de una letra o algo en específico
--swapcase: Este texto transforma lo que esta mayúscula a minúscula y viceversa. un ejemplo de esto es “yO aPRENDO pYTHON” si usas el swapcase te quedaría asi : “Yo Aprendo Python”
--startswith: Si el texto inicia con ese caracter que le preguntamos su salida será un True o False dependiendo el caso
--endswith: se le pregunta al string si finaliza con ese caracter
--replace: cambia o reemplaza una variable por otra que le acabamos de asignar
--capitalize: pone el primer caracter en mayúscula
--title pone mayúscula a cada una de las palabras que componen ese título
isdigit: evalua si el texto es un dígito
Exvelente el método swapcase
¿En qué caso real lo usarías?
En un juego en un problema para confundir al jugador, tiene que escoger una letra minuscula en especifico de un texto y tendrá un tiempo, si no la escoge y pasa el tiempo, se hace el swapcase y se le pide otra letra a escoger.
Si elegiste Python esta bien, y si no, también!
jaja
jajajajaja
#String recargado
text="Ella sabe programar en Python"'''print(texto)print("Javascript"in texto)print("Python"in texto)if"Python"intexto:print("Elegiste bien")else:print("Tambien elegiste bien")'''
size=len("amor")print(size)print(text)print(text.upper())print(text.lower())print(text.count('a'))print(text.swapcase())print(text.startswith("Ella"))print(text.endswith("Rust"))print(text.replace("Python","Go"))text2="este es un titulo"print(text2)print(text2.capitalize())print(text2.title())print(text2.isdigit())print(text2.isalnum())print(text2.isalpha())print("hola".isalpha())
el metodo "len" examina el tamaño en el numero de caracteres y cuenta los espacios
sirve para contar los caracteres en la variable
La instruccion "upper" pasa todo a mayusculas
"lower" sirve para poner todo en minusculas
"count" sirve para contar la cantidad de caracteres que hay en
el texto seleccionado
"swapcase" sirve para inverir los caracateres de mayus a minus y viceversa
"starswith" nos pregunta si algun texto inicia con algo especifico
"endswith" nos pregunta si algun texto finaliza con algo especifico
"replace" sirve para cambiar algun dato en la variable
"capitalize" pone el primer caracter en mayus
"tittle" pone el inicio de cada una de las palabras en mayus
"isdigit" sirve para saber si este texto es un digito
Solución:
user_option =input('Elije: Piedra, Papel, o Tijera => ').lower()
también me funcionó colocándolo dentro del paréntesis:
user_option = input("Escoge entre piedra, papel o tijera: ".lower())
De esa forma no mueves tanto tu código
lo resolví igual!
Esta fue mi solución. Plantee usar números en lugar de las palabras para jugar.
(La función o_pc elige un número aleatorio entre el 0 y 2)
import random
# Interfazprint('Juego Piedra, Papel y tijera')print(' ')print('0- Piedra ')print('1- Papel ')print('2- Tijera ')print(' ')# Eleccion del jugador
o_user =int(input('Elegir una opcion (0 - 1 - 2):'))# Elecion aleatoria de la pc
o_pc = random.randrange(2)#Logicaif o_user == o_pc:print('Empate!')elif(o_user ==0 and o_pc ==1)or(o_user ==1 and o_pc ==2)or(o_user ==2 and o_pc ==0):print('Perdiste! :(')else:print('Ganaste! :)')
(Faltaría validar el input para controlar que se ingresen únicamente los números indicados)
Esta sería la opción final con las validaciones y un mensaje para saber qué opción elegiste y cuál eligió la computadora
import random
# Interfazprint('Juego Piedra, Papel y tijera')print(' ')print('0- Piedra ')print('1- Papel ')print('2- Tijera ')print(' ')# Eleccion del jugador
o_user =int(input('Elegir una opcion (0 - 1 - 2):'))while(o_user!=0 and o_user!=1 and o_user!=2):print('Ingresar una de las opciones indicadas!') o_user =int(input('Elegir una opcion (0 - 1 - 2):'))# Elecion aleatoria de la pc
o_pc = random.randrange(2)op =['Pierda','Papel','Tijera']#Logicaif o_user == o_pc:print('Empate! <Ambos eligieron',op[o_user],'>')elif(o_user ==0 and o_pc ==1)or(o_user ==1 and o_pc ==2)or(o_user ==2 and o_pc ==0):print('Perdiste! :( <',op[o_pc],' le gana a',op[o_user],'>')else:print('Ganaste! :) <',op[o_user],' le gana a',op[o_pc],'>')
Que creativo.. y así hay menor riesgo a que no se reconozca la palabra por mayúsculas o minúsculas
user_option =input('piedra, papel o tijera ')user_option = user_option.lower()print(user_option)computer_option ='papel'if user_option == computer_option:print('Empate'+ user_option)elif computer_option =='piedra':if computer_option =='tijera':print('Piedra gana a tijera')print('Computer gano!')else:print('Papel gana a piedra')print('User gano!')elif computer_option =='papel':if computer_option =='piedra':print('Papel gana a piedra')print('Computer gano!')else:print('tijera gana a papel!')print('User gano!')elif computer_option =='tijera':if computer_option =='papel':print('tijera gana a papel')print('Computer ganos')else:print('piedra gana a tijera')print('User gano')
Hola. ¿Como puedo saber cúando es un método y cuándo es una función?
En Python, un método es una función que está asociada a un objeto. Por lo general, un método se utiliza para realizar una acción u operación en un objeto, mientras que una función se utiliza para realizar una operación más general que no está necesariamente asociada a un objeto en particular.
Para saber si una determinada operación es un método o una función en Python, lo mejor es verificar su documentación o buscar ejemplos de su uso en línea. La mayoría de las veces, un método se invoca utilizando la sintaxis de punto (.) después del nombre del objeto al que está asociado, mientras que una función se invoca directamente utilizando su nombre.
Por ejemplo, si tenemos una lista llamada "mi_lista" y queremos agregar un nuevo elemento a la lista, podemos usar el método "append()" de la siguiente manera:
mi_lista =[1,2,3]mi_lista.append(4)
En este caso, el método "append()" está asociado al objeto "mi_lista" y se invoca utilizando la sintaxis de punto. Si, por otro lado, queremos calcular el valor absoluto de un número, podemos usar la función "abs()" de la siguiente manera:
mi_numero =-5valor_absoluto =abs(mi_numero)
En este caso, la función "abs()" se invoca directamente utilizando su nombre, sin necesidad de estar asociada a un objeto en particular.
Espero que esta información te sea útil. Si tienes alguna pregunta adicional, no dudes en hacerla. ¡Buena suerte con tus proyectos en Python!
String Recargado
text ='Ella sabe programar en Python'print(text.upper()) # imprime la cadena de texto en mayúsculas
print(text.lower()) # imprime la cadena de texto en minúsculas
print(text.capitalize()) # imprime la cadena de texto capitalizada
print(text.title()) # imprime la cadena de texto titulada
# imprime el numero de veces que aparece la palabra Pythontext ='Ella sabe programar en Python, Python es un lenguaje de programación muy popular, Python es un lenguaje de programación muy fácil de aprender'print(text.count('Python'))print(text.swapcase()) # imprime la cadena de texto en mayúsculas y minúsculas
text ='Ella sabe programar en Python'print(text.startswith('Ella')) # imprime True si la cadena de texto empieza con la palabra Ellaprint(text.endswith('Ella')) # imprime True si la cadena de texto empieza con la palabra Ellaprint(text.find('Python')) # imprime la posición de la palabra Pythonprint(text.rfind('Python')) # imprime la posición de la palabra Pythonprint(text.replace('Python','JavaScript')) # imprime la cadena de texto reemplazando la palabra Python por JavaScriptprint(text.split()) # imprime la cadena de texto separada por espacios
print(text.split('a')) # imprime la cadena de texto separada por la letra a
print(text.strip()) # imprime la cadena de texto sin espacios al inicio y al final
print(text.rstrip()) # imprime la cadena de texto sin espacios al final
print(text.lstrip()) # imprime la cadena de texto sin espacios al inicio
print(text.isnumeric()) # imprime True si la cadena de texto es numérica
print(text.isalpha()) # imprime True si la cadena de texto es alfabética
print(text.isdigit()) # imprime True si la cadena de texto es numérica
print(text.isalnum()) # imprime True si la cadena de texto es alfanumérica
print(text.islower()) # imprime True si la cadena de texto es minúscula
print(text.isupper()) # imprime True si la cadena de texto es mayúscula
print(text.istitle()) # imprime True si la cadena de texto es titulada
print(text.isprintable()) # imprime True si la cadena de texto es imprimible
print(text.isspace()) # imprime True si la cadena de texto es un espacio
print(text.isdecimal()) # imprime True si la cadena de texto es decimal
print(text.isidentifier()) # imprime True si la cadena de texto es un identificador
print(text.isascii()) # imprime True si la cadena de texto es ascii
print(text.isnumeric()) # imprime True si la cadena de texto es numérica
print(text.isalpha()) # imprime True si la cadena de texto es alfabética
print(text.isdigit()) # imprime True si la cadena de texto es numérica
print(text.isalnum()) # imprime True si la cadena de texto es alfanumérica
Aquí algunas funciones para strings en Python, sacadas de BingChat
Me he dado cuenta de que si ponen el método al final de una igualdad también funciona.
user_option =input('piedra, papel o tijera => ').lower()
Excelente, gracias por tu aporte, me funcona
Upper: Convierte todos los caracteres de un string a mayúsculas.
Lower: Convierte todos los caracteres de un string a minúsculas.
Count: Cuenta la cantidad de veces que un sub-string específico aparece dentro de un string.
Swapcase: Intercambia mayúsculas por minúsculas y viceversa en un string.
Startswith: Verifica si un string comienza con un sub-string específico.
Endswith: Verifica si un string termina con un sub-string específico.
Replace: Reemplaza una subcadena especificada por otra subcadena dentro de un string.
Capitalize: Convierte el primer carácter de un string a mayúscula y el resto a minúsculas.
Title: Convierte el primer carácter de cada palabra en un string a mayúscula.
Isdigit: Verifica si todos los caracteres en un string son dígitos.
Mis aputnes:
# IN:Busca caracteres dentro de una cadena de texto
text ='Ella sabe programar en Python'print('Python'in text) # Trueprint('Jupyter'in text) # Trueprint('- - - - - - '*4)# Podemos cambiar lo anterior a una pregunta
if'Python'intext:print('Python es un buen lenguaje')else:print('¿Qué lenguaje escogiste?')print('- - - - - - '*4)# LEN=> examina el tamaño de un string
longitud =print(len('Sebastian')) # 9print('- - - - - - '*4)# UPPER=> convierte un texto a mayúsculas
text1 ='Power Bi nos sirve para mostrar gráficas de análisis de Datos'print(text1.upper())print('- - - - - - '*4)# LOWER: convierte el texto a minusculas
print(text1.lower())print('- - - - - - '*4)# COUNT: contar el número de apariciones de un caracter en una lista
print(text1.count('o')) # 4print(text1.count('Power')) # 1print(text1.count('power')) # 0, esto porque power con p minuscula NO existe
print('- - - - - - '*4)# SWAPCASE:Convierte cualquier caracter que esté en minuscula a mayúscula y cualquier caracter en mayuscula a minuscula
print(text1.swapcase())print('- - - - - - '*4)# STARTSWITH:Valida si un texto empieza con la palabra o caracter indicado
print(text1.startswith('Power')) # Trueprint('- - - - - - '*4)# ENDSWITH:Valida si un texto finaliza con la palabra o caracter indicado
print(text1.endswith('s')) # Trueprint(text1.endswith('Datos')) # Trueprint('- - - - - - '*4)# REPLACE:Reemplaza un caracter por otro, el primer parametro es el caracter a reemplazar, el segundo caracter es el caracter por el que será reemplazado
print(text1.replace('Power Bi','Tableau'))print('- - - - - - '*4)# NUEVOTEXTO=>text2 ='este es un titulo'print(text2)print('- - - - - - '*4)# CAPITALIZE:Convierte el primer caracter a mayuscula
print(text2.capitalize())print('- - - - - - '*4)# TITLE:Pone el inicio de cada una de las palabras de un texto en Mayusculaprint(text2.title())print('- - - - - - '*4)# IsDIGIT:Evalua si es un digito
print(text2.isdigit()) # Falseprint('- - - - - - '*4)print('398'.isdigit()) # True
El profe Nicolas es excelente, tiene una metodologia muy buena y trata que cada tema se entienda lo mas claro posible... Gracias profe.
text = 'Ella sabe programar en Python'
print('JavaScript' in text)
print('Python' in text)
if 'Python' in text:
print('Eligiste bien')
else:
print('Tambien eligiste bien')
size = len(text)
print(size)
print(text.upper())
print(text.lower())
print(text.count('a'))
print(text.swapcase())
print(text.startswith('Ella'))
print(text.endswith('Rust'))
print(text.replace('Python', 'Go'))
text_2 = 'este es un título'
print(text_2.capitalize())
print(text_2.title())
print(text_2.isdigit())
print("398".isdigit())