Lección 5 · 5 de 20
Leer del teclado · Python
Pida datos al usuario con input() en Python y conviértalos en números con int() y float() para poder hacer cuentas con ellos.

input() escribe el mensaje que le pase y espera a que el usuario teclee una línea y pulse Intro. Lo tecleado es el resultado: name = input("What is your name? ") lo guarda en name.
En este ejemplo las respuestas salen del archivo input.txt (como si alguien las tecleara), por eso no aparecen en la salida: solo se ve la pregunta y, a continuación, la contestación del programa. En la consola de DMarlon Studio puede escribirlas usted mismo.
input() siempre devuelve texto, aunque se teclee 29. Para hacer cuentas hay que convertirlo: int() lo pasa a número entero y float() a número con decimales. int(input(...)) hace las dos cosas en una línea: lee y convierte.
Con los números ya convertidos se calcula normalmente: la edad dentro de 10 años, la altura en centímetros ({height * 100:.0f}, sin decimales) y el precio de tres entradas de cine con dos decimales.
Código · main.py
# input() shows a message and waits for a line from the keyboard.name = input("What is your name? ")print(f"Nice to meet you, {name}!")# input() always returns text: convert it to do maths.age = int(input("How old are you? "))print(f"In 10 years you will be {age + 10}.")# float() converts text with a decimal point.height = float(input("How tall are you, in metres? "))print(f"That is {height * 100:.0f} centimetres.")# Two numbers for a quick bill.price = float(input("Price of a cinema ticket? "))tickets = int(input("How many tickets? "))print(f"{tickets} tickets cost {price * tickets:.2f} euros.")Entrada (lo que se teclea) · input.txt
Lucia 29 1.68 8.50 3
Salida · python3 main.py
What is your name? Nice to meet you, Lucia! How old are you? In 10 years you will be 39. How tall are you, in metres? That is 168 centimetres. Price of a cinema ticket? How many tickets? 3 tickets cost 25.50 euros.
Para recordar
input("mensaje")lee una línea del teclado.- Lo que devuelve
input()es siempre una cadena. int()yfloat()convierten texto en números.- Si el texto no es un número, la conversión falla (lo resolverá más adelante con
try).
Ejercicio
Pida también el nombre de la película y escriba al final una frase como «3 tickets for Dune cost 25.50 euros.». Añada la respuesta a input.txt.