Interacción con el Usuario en Python
La función input()
en Python es una herramienta fundamental para interactuar con el usuario. Permite que el programa solicite y reciba información directamente del teclado.
Cuando se llama a esta función, el programa se detiene y espera a que el usuario ingrese algún dato. Una vez que el usuario presiona Enter, el valor ingresado se devuelve como una cadena de texto (string).
La función input()
La función input()
en Python es una herramienta fundamental para interactuar con el usuario. Permite que el programa solicite y reciba información directamente del teclado.
Cuando se llama a esta función, el programa se detiene y espera a que el usuario ingrese algún dato. Una vez que el usuario presiona Enter, el valor ingresado se devuelve como una cadena de texto (string).
Sintaxis:
variable = input(prompt)
- prompt: Es un mensaje opcional que se muestra al usuario para indicar qué tipo de información se espera.
- variable: Es una variable donde se almacena la entrada del usuario.
Ejemplo:
nombre = input("Por favor, ingresa tu nombre: ")
edad = input("¿Cuál es tu edad? ")
print("Hola,", nombre, "!")
print("Tienes", edad, "años.")
- La línea
nombre = input("Por favor, ingresa tu nombre: ")
muestra el mensaje "Por favor, ingresa tu nombre:" en la consola. - El programa espera a que el usuario escriba su nombre y presione Enter.
- El nombre ingresado se almacena en la variable nombre.
- Lo mismo ocurre con la edad en la siguiente línea.
- Finalmente, se imprimen los mensajes de saludo utilizando las variables nombre y edad.
El Resultado de la Función input()
La función input()
siempre devuelve una cadena de texto, incluso si el usuario ingresa un número.
Una cadena que contiene todos los caracteres que el usuario ha introducido desde el teclado. No es un entero ni un flotante.
Esto significa que no se debe utilizar como un argumento para operaciones matemáticas, por ejemplo, no se pueden utilizar estos datos para elevarlos al cuadrado, para dividirlos entre algo o por algo.
anything = input("Ingresa un número:")
something = anything ** 2.0
print(anything, "al cuadrado es", something)
Cuando python intente ejecutar something = anything ** 2.0
se devolverá el siguiente error "TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'float'"
Conversión de Tipos
Python ofrece dos simples funciones para especificar un tipo de dato y resolver este problema, aquí están: int()
y float()
.
Sus nombres indican cual es su función:
- La función
int()
toma un argumento (por ejemplo, una cadena:int(string)
) e intenta convertirlo a un valor entero; si llegase a fallar, el programa entero fallará también. - La función
float()
toma un argumento (por ejemplo, una cadena:float(string)
) e intenta convertirlo a flotante.
Por ejemplo:
- Para valores enteros:
edad = int(input("¿Cuál es tu edad? "))
- Para valores flotantes:
leg_a = float(input("Ingresa la longitud del primer cateto: ")) leg_b = float(input("Ingresa la longitud del segundo cateto: ")) hypo = (leg_a**2 + leg_b**2) ** .5 print("La longitud de la hipotenusa es:", hypo)
Operadores Cadena
Concatenación
En Python, el signo más (+
) se utiliza comúnmente para concatenar cadenas de texto. Cuando se emplea entre dos o más valores de tipo str, el operador +
une esas cadenas en una sola. Este uso específico del +
permite construir mensajes personalizados o juntar varios fragmentos de texto en un mismo resultado.
saludo = "Hola, "
nombre = "María"
mensaje = saludo + nombre
print(mensaje) # Resultado: "Hola, María"
Replicación
- Replicación de cadenas: En este caso, el operador
*
permite repetir la cadena un número específico de veces.texto = "Hola " * 3 # texto será "Hola Hola Hola "
- Replicación de listas: En este caso el operador
*
permite replicar el contenido de la cadena.lista = [1, 2, 3] * 2 # lista será [1, 2, 3, 1, 2, 3]
Otros Tipos de Conversiones
str()
La función str()
en Python convierte un valor a su representación en cadena de texto (string). Esta función se utiliza comúnmente para transformar valores numéricos, booleanos, listas, diccionarios, entre otros, en cadenas que pueden ser visualizadas o impresas fácilmente.
Sintaxis:
str(objeto)
Parámetro:
- objeto: Cualquier valor o expresión que se quiera convertir en cadena.
Ejemplos de uso
- Convertir un número a cadena:
numero = 42 texto = str(numero) print(texto) # Output: '42'
- Convertir un booleano a cadena:
verdad = True texto = str(verdad) print(texto) # Output: 'True'
- Convertir una lista a cadena:
lista = [1, 2, 3] texto = str(lista) print(texto) # Output: '[1, 2, 3]'
- Convertir un diccionario a cadena:
diccionario = {'nombre': 'Juan', 'edad': 30} texto = str(diccionario) print(texto) # Output: "{'nombre': 'Juan', 'edad': 30}"
Uso Práctico
str()
es especialmente útil al combinar diferentes tipos de datos en una cadena. Por ejemplo:
edad = 25
nombre = "Ana"
mensaje = "Hola, " + nombre + ". Tienes " + str(edad) + " años."
print(mensaje)
# Output: 'Hola, Ana. Tienes 25 años.'
Función de Verificación de Tipo
En Python, la función type()
se utiliza para obtener el tipo de dato de un objeto. Cuando se pasa una variable o cualquier valor a type()
, esta función devuelve el tipo de dato de dicho objeto. Esto puede incluir tipos de datos básicos como int
, float
,str
, list
, entre otros, así como tipos de datos definidos por el usuario (por ejemplo, clases).
# Declaración de diferentes tipos de datos
x = 10 # Entero
y = 3.14 # Flotante
z = "Hola" # Cadena de texto
w = [1, 2, 3] # Lista
# Usar type() para obtener el tipo de dato
print(type(x)) # Salida: <class 'int'>
print(type(y)) # Salida: <class 'float'>
print(type(z)) # Salida: <class 'str'>
print(type(w)) # Salida: <class 'list'>
En este ejemplo:
-
type(x)
devuelve<class 'int'>
, indicando quex
es un entero. -
type(y)
devuelve<class 'float'>
, indicando quey
es un número decimal. -
type(z)
devuelve<class 'str'>
, indicando quez
es una cadena de texto. -
type(w)
devuelve<class 'list'>
, indicando quew
es una lista.
Esta función es particularmente útil para depuración, comprobaciones de tipos, o cuando se trabaja con tipos dinámicos en Python.