Soluciones de ejercicios – 100 días de Python #2

Soluciones de ejercicios – 100 días de Python #2

Esta página contiene las soluciones para los ejercicios del segundo día del curso.

  1. Son correctos el primer y el tercer string. El segundo es incorrecto porque utiliza dos tipos de comillas y el cuarto porque lleva comillas dobles dentro de otras comillas dobles.
  2. Aquí están los dos errores. El primero se corresponde al string 'El cielo está nublado". El segundo a "Mañana, en inglés se dice "morning""

Este error indica que el string no está finalizado. Python está esperando que se le pase una comilla simple para el cierre.

Error en la consola

SyntaxError: unterminated string literal (detected at line 2)

Este ya nos detecta una sintaxis no válida.

Error en la consola

SyntaxError: invalid syntax
  1. El resultado en la consola es 15 caracteres de longitud.
palabra = "automáticamente"

print(len(palabra))
  1. Recuerda que se empieza a contar desde el cero, por lo tanto, la posición de "á" es la 5 y no la 6.
palabra = "automáticamente"

print(palabra[5])
  1. El resultado es 100000.
exponente = 10 ** 5

print(exponente)
  1. La operación es bastante tediosa, y eso que solo es elevado a 5:
exponente = 10 * 10 * 10 * 10 * 10

print(exponente)
  1. Un dato booleano o bien puede estar en True o en False (en Python, ten en cuenta que la primera letra de los valores booleanos, va en mayúscula).
  2. Nos devuelve un <class 'float'>.
numero_1 = 675.87

print(type(numero_1))
  1. Nos devuelve que tiene 9 dígitos. Para que funcionase este integer con len(), debías realizar una conversión del número a string.
numero_1 = 768763843

print(len(str(numero_1)))
  1. Este ejercicio era para que analizarais los errores en la consola y que llegarais a la conclusión de que no se puede transformar un string con un número decimal a integer directamente, que hay que pasar a float y después a int.
# Se realiza la conversión a float
numero_1 = float("14.527")
numero_2 = float("560.92")

# Se imprimen transformados a int los valores float
print(int(numero_1))
print(int(numero_2))

Resultado en la consola

14
560
  1. Para esto, había que utilizar la función round().
numero_1 = 10.897654876534 # 3 decimales
numero_2 = 7674.7886 # 2 decimales 
numero_3 = 68754.78 # 1 decimal

print(round(numero_1, 3))
print(round(numero_2, 2))
print(round(numero_3, 1))

Resultado en la consola

10.898
7674.79
68754.8
  1. El operador módulo devuelve el resto de la división, mientras que floor devuelve el resultado con los decimales trucados, es decir, como entero.
  2. Aquí era cuestión de utilizar los operadores "+=" y "-=".
numero_1 = 10 # +60
numero_2 = 24 # -100
numero_3 = 65.67 # +4.33

numero_1 += 60
numero_2 -= 100
numero_3 += 4.33

print(numero_1)
print(numero_2)
print(numero_3)
  1. Si dominas esto, ya puedes dar por aprendido el tema del formateo de strings, te será de gran utilidad a partir de ahora.
numero_1 = 4
numero_2 = 769.97
texto = "Am I a string"
decision = True

print(f"El valor {numero_2} es bastante más grande que {numero_1}. ¿{texto}? The answer is {decision}.")
  1. Llegamos al proyecto. Puede ser que lo hayas hecho diferente. Ahora te explico todo el código.
# Se le indica al usuario de que va la aplicación.
print("--- Calculadora de exponentes ---")

# Se solicitan los números para realizar el cálculo y se transforman a integer.
numero_1 = int(input("Introduzca el primer número.\n"))
numero_2 = int(input("Introduzca el segundo número.\n"))

# Se realiza el cálculo y se almacena en una variable.
resultado = numero_1 ** numero_2

# Se le muestra el resultado al usuario.
print(f"El resultado de {numero_1} elevado a {numero_2} es {resultado}.")

Los comentarios, son parte importante en programas que empiezan a tener unas cuantas líneas de código. Espero que hayas puesto. Si no, tenlo en cuenta de aquí en adelante.

Primero un print() de presentación al usuario, para que sepa de que va la aplicación.

Después, los números transformados del input. Esto era una prueba a ver si con los errores de la consola llegabais a la conclusión. input() devuelve un string y con los strings, no podemos operar sin transformarlos.

Después tenemos el resultado, que es una variable para almacenarlo.

Y finalmente, se muestran los números que ha escrito el usuario y su resultado.

2 comentarios en «0»

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

curso de Python Entrada anterior Soluciones – Ejercicios resueltos – 100 días de Python #1
curso de Python Entrada siguiente Proyecto y ejercicios resueltos – 100 días de Python #2