Ejercicios Lección 2
Ejercicios De lo aprendido en la lección 2
Pensamiento profundo
"Está bien", dijo la computadora, y volvió a guardar silencio. Los dos hombres se pusieron nerviosos. La tensión era insoportable.
“Realmente no te va a gustar”, observó Deep Thought.
"¡Dinos!"
“Está bien”, dijo Pensamiento Profundo. “La respuesta a la gran pregunta…”
“¡Sí…!”
“De la vida, el universo y todo…” dijo Pensamiento Profundo.
"Sí…!"
“Es…” dijo Pensamiento Profundo, e hizo una pausa.
"Sí…!"
"Es
sí…!!!…?"
“Cuarenta y dos”, dijo Pensamiento Profundo, con infinita majestad y calma.— La guía del autoestopista galáctico , Douglas Adams
En deep.py
, implemente un programa que solicite al usuario la respuesta a la Gran Pregunta de la Vida, el Universo y Todo, generando Yes
si el usuario ingresa 42
o (sin distinguir entre mayúsculas y minúsculas) forty-two
o forty two
. De lo contrario, salida No
.
Consejos
- ¡No es necesario convertir la entrada del usuario a an
int
si verifica la igualdad con"42"
, astr
, en lugar de42
, anint
! - Está bien si su salida o la del usuario se ajustan a varias líneas.
Inicio Caja Federal de Ahorros
En el episodio 24 de la temporada 7 de Seinfeld , Kramer visita un banco que promete dar 100 dólares a cualquiera que no sea recibido con un "hola". En cambio, Kramer es recibido con un "hola", que él insiste en que no es un "hola", por lo que pide 100 dólares. El gerente del banco propone un compromiso: "Tienes un saludo que comienza con una 'h', ¿cómo suenan 20 dólares?" Kramer acepta.
En un archivo llamado bank.py
, implemente un programa que solicite un saludo al usuario. Si el saludo comienza con "hola", envíe $0
. Si el saludo comienza con una “h” (pero no “hola”), envíe $20
. De lo contrario, genere $100
. Ignore cualquier espacio en blanco inicial en el saludo del usuario y trate el saludo del usuario sin distinguir entre mayúsculas y minúsculas.
Consejos
- Recuerde que a
str
viene con bastantes métodos, según docs.python.org/3/library/stdtypes.html#string-methods . - Asegúrese de dar $0 no solo por “hola”, sino también por “hola”, “hola, Newman” y cosas similares.
Extensiones de archivo
Aunque Windows y macOS a veces los ocultan, la mayoría de los archivos tienen extensiones de archivo , un sufijo que comienza con un punto ( .
) al final de su nombre. Por ejemplo, los nombres de archivos GIF terminan en .gif
y los nombres de archivos JPEG terminan en .jpg
o .jpeg
. Cuando hace doble clic en un archivo para abrirlo, su computadora usa su extensión de archivo para determinar qué programa iniciar.
Los navegadores web, por el contrario, se basan en tipos de medios , anteriormente conocidos como tipos MIME, para determinar cómo mostrar los archivos que se encuentran en la web. Cuando descarga un archivo de un servidor web, ese servidor envía un encabezado HTTP , junto con el archivo en sí, que indica el tipo de medio del archivo. Por ejemplo, el tipo de medio para un GIF es image/gif
y el tipo de medio para un JPEG es image/jpeg
. Para determinar el tipo de medio de un archivo, un servidor web normalmente analiza la extensión del archivo y asigna uno al otro.
Consulte desarrollador.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types para conocer los tipos comunes.
En un archivo llamado extensions.py
, implemente un programa que solicite al usuario el nombre de un archivo y luego genere el tipo de medio de ese archivo si el nombre del archivo termina, sin distinguir entre mayúsculas y minúsculas, en cualquiera de estos sufijos:
.gif
.jpg
.jpeg
.png
.pdf
.txt
.zip
Si el nombre del archivo termina con algún otro sufijo o no tiene ningún sufijo, se genera application/octet-stream
en su lugar, que es un valor predeterminado común.
Consejos
- Recuerde que a
str
viene con bastantes métodos, según docs.python.org/3/library/stdtypes.html#string-methods .
Intérprete de matemáticas
Python ya admite matemáticas, mediante las cuales puedes escribir código para sumar, restar, multiplicar o dividir valores e incluso variables. Pero escribamos un programa que permita a los usuarios hacer matemáticas, incluso sin conocer Python.
En un archivo llamado interpreter.py
, implemente un programa que solicite al usuario una expresión aritmética y luego calcule y genere el resultado como un valor de punto flotante formateado con un decimal. Supongamos que la entrada del usuario tendrá el formato x y z
, con un espacio entre x
y y
un espacio entre y
y z
, donde:
x
es un numero enteroy
es+
,-
,*
, o/
z
es un numero entero
Por ejemplo, si el usuario ingresa 1 + 1
, su programa debería generar 2.0
. Supongamos que, si y
es /
, entonces z
no lo será 0
.
Tenga en cuenta que, así como python
él mismo es un intérprete de Python, ¡también lo será usted interpreter.py
un intérprete de matemáticas!
Consejos
Recuerde que a str
viene con bastantes métodos, según docs.python.org/3/library/stdtypes.html#string-methods , incluido split
, que separa a str
en una secuencia de valores, todos los cuales se pueden asignar a variables a la vez . Por ejemplo, si expression
es " str
me gusta" 1 + 1
, entonces
x, y, z = expression.split(" ")
asignará 1
a x
, +
a y
y 1
a z
.
Hora de comer
Supongamos que estás en un país donde se acostumbra desayunar entre las 7:00 y las 8:00, almorzar entre las 12:00 y las 13:00 y cenar entre las 18:00 y las 19:00. ¿No sería bueno si tuvieras un programa que pudiera decirte qué comer y cuándo?
En meal.py
, implemente un programa que solicite al usuario una hora y genere si es breakfast time
, lunch time
o dinner time
. Si no es hora de comer, no saques nada. Supongamos que la entrada del usuario se formateará en formato de 24 horas como #:##
o ##:##
. Y suponga que el rango de tiempo de cada comida es inclusivo. Por ejemplo, ya sean las 7:00, 7:01, 7:59 u 8:00, o en cualquier momento intermedio, es hora de desayunar.
Estructura tu programa según lo siguiente, donde convert
hay una función (que puede ser llamada por main
) que convierte time
, str
en formato de 24 horas, al número correspondiente de horas como float
. Por ejemplo, dado un time
Me gusta "7:30"
(es decir, 7 horas y 30 minutos), convert
debería devolver 7.5
(es decir, 7,5 horas).
def main():
...
def convert(time):
...
if __name__ == "__main__":
main()
Consejos
Recuerde que a
str
viene con bastantes métodos, según docs.python.org/3/library/stdtypes.html#string-methods , incluidosplit
, que separa astr
en una secuencia de valores, todos los cuales se pueden asignar a variables a la vez . Por ejemplo, sitime
es "str
me gusta""7:30"
, entonceshours, minutes = time.split(":")
asignará
"7"
ahours
y"30"
aminutes
.Tenga en cuenta que hay 60 minutos en 1 hora.