3 Entrada y Salida por Terminal
3.1 Entrada por terminal (input())
Para asignar a una variable un valor introducido por el usuario en la consola se utiliza la instrucción
input(mensaje) : Muestra la cadena mensaje por la terminal y devuelve una cadena con la entrada del usuario.
El valor devuelto siempre es una cadena, incluso si el usuario introduce un dato numérico.
>>> language = input('¿Cuál es tu lenguaje favorito? ')
¿Cuál es tu lenguaje favorito? Python
>>> language
'Python'
>>> age = input('¿Cuál es tu edad? ')
¿Cuál es tu edad? 20
>>> age
'20'3.2 Salida por terminal (print())
Para mostrar un dato por la terminal se utiliza la instrucción
print(dato1, ..., sep=' ', end='\n', file=sys.stdout)
donde
dato1, ...son los datos a imprimir y pueden indicarse tantos como se quieran separados por comas.sepestablece el separador entre los datos, que por defecto es un espacio en blanco' '.endindica la cadena final de la impresión, que por defecto es un cambio de línea\n.fileindica la dirección del flujo de salida, que por defecto es la salida estándarsys.stdout.
>>> print('Hola')
Hola
>>> name = 'Alf'
>>> print('Hola', name)
Hola Alf
>>> print('El valor de pi es', 3.1415)
El valor de pi es 3.1415
>>> print('Hola', name, sep='')
HolaAlf
>>> print('Hola', name, end='!\n')
Hola Alf!3.3 Salida formateada por terminal (cadenas f)
Para construir cadenas que combinen texto con el valor de variables o expresiones de una forma más cómoda y legible que con format(), Python ofrece las cadenas f (f-strings). Se escriben anteponiendo la letra f a la cadena, y dentro de ella se pueden incluir variables o expresiones entre llaves {}, que serán sustituidas por su valor.
>>> name = 'Alf'
>>> age = 20
>>> print(f'Me llamo {name} y tengo {age} años')
Me llamo Alf y tengo 20 años
>>> print(f'El año que viene tendré {age + 1} años')
El año que viene tendré 21 añosAl igual que con format(), dentro de las llaves se puede añadir, tras el signo :, un formato para controlar la alineación, la anchura o el número de decimales con los que se muestra el valor:
{valor:n}: Alineavalora la izquierda rellenando con espacios por la derecha hasta losncaracteres.{valor:>n}: Alineavalora la derecha rellenando con espacios por la izquierda hasta losncaracteres.{valor:^n}: Alineavaloren el centro rellenando con espacios por la izquierda y por la derecha hasta losncaracteres.{valor:nd}: Formateavalorcomo un número entero conncaracteres rellenando con espacios en blanco por la izquierda.{valor:n.mf}: Formateavalorcomo un número real con un tamaño dencaracteres (incluido el separador de decimales) ymcifras decimales, rellenando con espacios en blanco por la izquierda.
>>> pi = 3.141592
>>> print(f'Pi vale {pi:8.2f}')
Pi vale 3.14
>>> dia = 'Lunes'
>>> temperatura = 21.4
>>> print(f'{dia:<10}{temperatura:>6.1f} ºC')
Lunes 21.4 ºCLas cadenas f solo están disponibles a partir de Python 3.6.