""
Mostrando las entradas con la etiqueta reto. Mostrar todas las entradas
Mostrando las entradas con la etiqueta reto. Mostrar todas las entradas

domingo, 19 de abril de 2026

Respuesta a los ejercicios 1, 2, 3 de ThinkCspy 7.10

 1). ¿A qué se evalúan estas expresiones?

3 == 3

3 != 3

3 >= 4

not (3 < 4)

Solución:

>>print(3==3)

>>print(3!=3)

>>print(3>=4)

>>print(not(3<4))

>>>

True
False
False
False

2). Dar el opuestos lógicos de estas condiciones. No está permitido utilizar el not operador.
a > b a >= b a >= 18 and day == 3 a >= 18 or day != 3

Solución

# a < b # a <= b # a <= 18 and day != 3 # a<=18 or day ==3

3. Escriba una función a la que se le dé una calificación de examen y devuelva una cadena — la calificación de esa calificación — de acuerdo con esto esquema: Marca Grade = 90 A [80-90) B [70-80) C [60-70) D < 60 F Los corchetes cuadrados y redondos indican intervalos cerrados y abiertos. Un intervalo cerrado incluye el número y el intervalo abierto lo excluye. Entonces 79,99999 obtiene la calificación C, pero 80 obtiene la calificación B. Pruebe su función imprimiendo la nota y la calificación de varias notas diferentes.

Solución de PPI:

>>def calificar_examen(nota):
>>  if nota >=90:
>>    print("La calificación de: " +str(nota) + " es: A")
>>  elif nota >= 80:
>>    print("La calificación de: " +str(nota) + " es: B")
>>  elif nota >= 70:
>>    print("La calificación de: " +str(nota) + " es: C")
>>  elif nota >= 60:
>>    print("La calificación de: " +str(nota) + " es: D")
>>  else:
>>    print("La calificación de: " +str(nota) + " es: F")

>>calificar_examen(80)
>>calificar_examen(90)
>>calificar_examen(70)
>>calificar_examen(60)
>>print(" ")
>>calificar_examen(88)
>>calificar_examen(98)
>>calificar_examen(78)
>>calificar_examen(68)
>>calificar_examen(58)
>>print("Solución de PPI, Python para ingenieros")

>>>

La calificación de: 80 es: B
La calificación de: 90 es: A
La calificación de: 70 es: C
La calificación de: 60 es: D
 
La calificación de: 88 es: B
La calificación de: 98 es: A
La calificación de: 78 es: C
La calificación de: 68 es: D
La calificación de: 58 es: F
Solución de PPI, Python para ingenieros

Solución de ThinkCspy:

>>def grade(mark):

>>    if mark >= 90:

>>        return "A"

>>    else:

>>        if mark >= 80:

>>            return "B"

>>        else:

>>            if mark >= 70:

>>                return "C"

>>            else:

>>                if mark >= 60:

>>                    return "D"

>>                else:

>>                    return "F"


>>mark = 83

>>print( "Mark:", str(mark), "Grade:", grade(mark))

>>>

Mark: 83 Grade: B


sábado, 20 de diciembre de 2025

365 días de Python. retos de los días 1,2,3,4,5

 ¡Me encanta ese entusiasmo! Nada refuerza mejor el aprendizaje que "ensuciarse las manos" con el código.

Aquí tienes 4 retos prácticos diseñados para combinar todo lo que aprendiste: print, variables, input, asignación múltiple y operadores.


🏆 Reto 1: El Generador de Biografías (Días 1, 2 y 3)

Escribe un programa que le pida al usuario tres datos: su nombre, su banda de rock/metal favorita y su año de nacimiento. Al final, debe imprimir un mensaje personalizado.

  • Pista: Recuerda usar input() para captar los datos.

  • Resultado esperado: "Hola [Nombre], es genial que te guste [Banda]. En 2030 tendrás [X] años."


>># Se definen tres variables para cada dato solicitado
>>nombre = input("Ingrese su nombre: ")
>>banda = input("Ingrese su banda de rock/metal favorita: ")
>>año_nacimiento = int(input("Ingrese su año de nacimiento: ")) 
>># ojo este dato ingresara como str y no como int, entonces se debe convertir
>>print("Hola " + nombre + ", es genial que te guste " + banda + ". En 2030 tendrás " + str(2030 - año_nacimiento) + " años.")

>>>

Ingrese su nombre: Michael
Ingrese su banda de rock/metal favorita: The offspring
Ingrese su año de nacimiento: 1980
Hola Michael, es genial que te guste The offspring. En 2030 tendrás 50 años.


🔄 Reto 2: El Intercambio Mágico (Día 4)

Crea dos variables: cancion_a = "Master of Puppets" y cancion_b = "Holy Wars".

  1. Imprime los valores originales.

  2. Intercambia sus valores usando una sola línea de código (asignación múltiple).

  3. Imprime los nuevos valores para confirmar que cambiaron.


>># crear las dos variables
>>cancion_a = "Master of Puppets"
>>cancion_b = "Holy Wars"

>># imprimir los valores originales
>>print("Canción A:", cancion_a)
>>print("Canción B:", cancion_b)

>>#intercambio los valores usando una linea de codigo
>>cancion_a, cancion_b = cancion_b, cancion_a

>># imprimir los nuevos valores
>>print("Canción A:", cancion_a)
>>print("Canción B:", cancion_b)

>>>
Canción A: Master of Puppets
Canción B: Holy Wars
Canción A: Holy Wars
Canción B: Master of Puppets
Canción A: Holy wars
Canción B: Master of Puppets

🎸 Reto 3: Calculadora de Conciertos (Día 5)

Imagina que vas a un festival de rock con tus amigos. Escribe un código donde:

  1. Asignes en una sola línea: precio_entrada = 85, num_amigos = 4 y presupuesto_total = 400.

  2. Calcules y muestres cuánto sobra del presupuesto después de comprar todas las entradas. (Usa la resta - y la multiplicación *).

  3. Calcula cuántas entradas completas podrías comprar si tuvieras 1000 euros usando la división entera (//).

>># Asignar variables en una sola linea
>>precio_entrada, num_amigos, presupuesto_total = 85,4,100

>># cuanto sobra del presupuesto despues de comprar todas las entradas
>>valor_entradas = precio_entrada * num_amigos
>>saldo_presupuesto = presupuesto_total-valor_entradas
>>print("Del presupuesto sobra: $", saldo_presupuesto)

>># Cuantas entradas completas se podrian comprar si se tuviera de presupuesto $1000 
>>nuevo_presupuesto = 1000
>>cant_entradas = nuevo_presupuesto // precio_entrada
>>print("Se podrian comprar: ", cant_entradas, "entradas")

>>>

Del presupuesto sobra: $ -240
Se podrian comprar:  11 entradas

como se puede observar en la salida del código anterior del presupuesto inicial de $100 no sobra nada, por el contrario se obtiene un deficit de $-240

⚡ Reto 4: El Desafío del Módulo (Día 5 - Nivel Pro)

Pide al usuario que introduzca un número cualquiera. El programa debe imprimir el resto de dividir ese número por 2.

  • Pregunta extra: Si el resultado es 0, ¿qué crees que significa sobre el número que eligió el usuario?


>>numero = int(input("Sr usuario ingrese un numero cualquiera: "))
>>residuo = numero % 2
>>print("El residuo de la division es: ", residuo)
>># si el resultado es igual a cero significa que el numero ingresado es par

>>>
Sr usuario ingrese un numero cualquiera: 8
El residuo de la division es:  0

🚀 ¿Cómo empezar?

Puedes escribir estos códigos en cualquier editor (como Replit, VS Code o incluso en un compilador online).

¿Te gustaría que te pase la solución de alguno de estos para comparar con lo que tú hagas, o prefieres intentar resolverlos todos primero? Ten en cuenta que en el Reto 1, para calcular la edad, necesitarás convertir el input a número así: edad = 2030 - int(año_nacimiento).

365 días de Python. Dia 3. input( ) Entrada de usuario

 ¡Perfecto! El Día 3 es donde las cosas se ponen interesantes porque pasamos de un programa que solo "habla" a uno que sabe "escuchar".


🐍 Día 3: Entrada de Usuario (input)

El objetivo de este reto es crear interactividad. En lugar de que el programa ya tenga los datos guardados, se los pide al usuario mientras se está ejecutando.

El Código del Reto

Python
>># Pedimos el nombre al usuario y lo guardamos en una variable
>>name = input("Enter your name: ")

>># Imprimimos un saludo personalizado
>>print("Hello " + name + "! Welcome to the Python Challenge.")
NOTA de PPI:
si ejecutamos el código anterior obtenemos lo siguiente:
>>>Enter your name: Michael
>>>Hello Michael! Welcome to the Python Challenge.

💡 ¿Qué estamos aprendiendo aquí?

  1. La Función input(): Esta función detiene la ejecución del programa y espera a que el usuario escriba algo y presione Enter.

  2. El "Prompt": El texto dentro de los paréntesis de input("...") es el mensaje que el usuario verá para saber qué debe escribir.

  3. Concatenación de Cadenas: Usamos el símbolo + para "pegar" diferentes fragmentos de texto y variables. Es como armar un rompecabezas de palabras.

⚠️ Un detalle crucial para el futuro

Es importante recordar que la función input() siempre devuelve un texto (string), incluso si el usuario escribe un número.

  • Si escribes 25, Python lo verá como "25" (texto).

  • Para hacer cálculos matemáticos, más adelante aprenderás a convertirlo usando int() o float().


¿Listo para el Día 4?

En el Día 4 se suele profundizar en el manejo de tipos de datos (Números e Intercambio de variables).

¿Quieres que veamos el código del Día 4 o prefieres intentar un pequeño reto combinando lo que aprendiste hoy con una operación matemática simple?

viernes, 19 de diciembre de 2025

365 días de Python. Dia 2. Variables y asignación

 

¡Excelente! Vamos con el Día 2 del reto de clcoding.com.

Mientras que el primer día se trata de mostrar mensajes, el segundo día introduce el concepto fundamental de almacenamiento de datos: las variables.


🐍 Día 2: Variables y Asignación

El reto consiste en crear una variable, asignarle un valor de texto (string) y luego imprimir esa variable en lugar del texto directo.

El Código del Reto

Python
>># Asignamos un valor a la variable 'message'
>>message = "I am learning Python with CL Coding"

>># Imprimimos el contenido de la variable
>>print(message)
Si requieres traducir el mensaje de ingles a español aquí te explico como hacerlo con Python:
https://python-para-ingenieros.blogspot.com/2025/11/
traductor-de-idiomas-ingles-espanol-con.html

💡 ¿Qué estamos aprendiendo aquí?

  1. Variables como contenedores: Una variable es como una "caja" con una etiqueta (el nombre) donde guardas información para usarla después.

  2. El Operador de Asignación (=): En programación, el signo = no significa "igualdad matemática", sino "asigna lo que está a la derecha en el espacio de la izquierda".

  3. Tipado Dinámico: A diferencia de otros lenguajes (como C++ o Java), en Python no necesitas decirle a la computadora que la variable es un texto (String). Python lo deduce solo al ver las comillas.

Reglas de oro para nombres de variables (Naming Conventions):

Para que tu código sea profesional desde el inicio, recuerda:

  • Deben empezar con una letra o un guion bajo (_).

  • No pueden empezar con un número.

  • Snake Case: En Python se acostumbra usar minúsculas y guiones bajos para nombres largos (ej: mi_mensaje_personalizado).


Un pequeño adelanto para el Día 3...

El Día 3 suele introducir la entrada de usuario (función input()), que es lo que permite que tus programas dejen de ser estáticos y empiecen a interactuar contigo.

¿Te gustaría que pasemos directamente a resolver el Día 3 o prefieres que te ponga un pequeño ejercicio para practicar lo visto hoy?

365 días de Python. Reto día 1. Print( ) Hola Mundo!

"365 Days of Python". Day one.

Fuente: Clcoding.com

El reto del Día 1 del desafío "365 Days of Python" de clcoding.com es el punto de partida fundamental para cualquier programador: la función print().

El objetivo es familiarizarse con la sintaxis básica y lograr que la computadora muestre un mensaje en la consola.

El Código del Reto

El reto consiste simplemente en escribir y ejecutar la siguiente línea:

Python
>>print("Hello World")

O en algunas versiones del curso orientadas a redes sociales, se utiliza un mensaje de bienvenida al reto:

Python
>>print("Welcome to 365 Days of Python Challenge")

¿Qué se aprende en este primer día?

Aunque parezca muy simple, este reto establece los cimientos de Python:

  1. La Función print(): Es una función integrada que envía datos a la salida estándar (la pantalla).

  2. Sintaxis de Paréntesis: En Python 3, los paréntesis son obligatorios para llamar a una función.

  3. Cadenas de Texto (Strings): El uso de comillas (pueden ser simples ' ' o dobles " ") para delimitar el texto que queremos mostrar.

  4. Sensibilidad a Mayúsculas: Aprender que print() debe ir en minúsculas, ya que Print() o PRINT() generarían un error.


Lo que sigue (Día 2)

Normalmente, el Día 2 de este desafío escala hacia el uso de variables, donde aprendes a almacenar ese "Hello World" en un contenedor para llamarlo más tarde.

¿Te gustaría que te explique cómo resolver el reto del Día 2 o prefieres profundizar en cómo personalizar la función print con saltos de línea o separadores?

domingo, 9 de febrero de 2025

Curso Virtual de Python UniAndes - coursera / Reto 5. Picas y Fijas

 

Reto 5: Picas y fijas

El juego de las Picas y Fijas es un juego matemático muy sencillo, consiste en adivinar un número de 4 cifras y de todos los dígitos diferentes. Para esto, el jugador que intenta adivinar deberá decir el número que cree está escondiendo el otro, y este deberá responder el número de picas y fijas que tiene ahora el jugador.

Una pica es un dígito que se encuentra en el número a adivinar, pero no está en el lugar correcto; y una fija es un dígito correctamente colocado.

Por ejemplo, si el número secreto es 1234 y el otro jugador dice 1325, tendrá dos picas y una fija.

Debes crear una función que devuelva un diccionario con las llaves "PICAS" y "FIJAS" que represente el resultado de la jugada si un jugador trata de adivinar el numero_secreto con el número intento.

Tu solución debe tener una función de acuerdo con la siguiente especificación:

  • Nombre de la función: picas_y_fijas

Si lo requieres, puedes agregar funciones adicionales.

Descripción de parámetros:

Nombre

Tipo

Descripción

numero_secreto

int

Número por adivinar.

intento

int

Número con el cual se intenta adivinar.

 

Descripción del retorno:

Tipo

Descripción

dict

Diccionario con las llaves "PICAS" y "FIJAS" que describen el resultado del intento.

jueves, 6 de febrero de 2025

Curso Virtual de Python UniAndes / Reto 4. Materias favoritas

 

Reto 4: Materias favoritas

Pedro es un estudiante inteligente pero desinteresado por algunas de sus materias. A Pedro le gustan las clases en las que aprende programación, matemática, filosofía y literatura. Por lo anterior, cualquier materia que lleve en su título alguna de estas palabras, será de su agrado.

Pedro está planeando su horario, pero ha puesto a su asistente digital a que le dé posibles conjuntos de tres materias para inscribir en su semestre. Él quiere saber, dados los títulos de las tres materias, cuántas de estas son de su agrado. Se sabe que los nombres de las materias irán sin acentos y en minúsculas cuando sean recibidos por parámetro en la función.

Su solución debe tener una función de acuerdo con la siguiente especificación:

  • Nombre de la función: conteo_de_materias

Si lo requiere, puede agregar funciones adicionales.

Descripción de parámetros:

Nombre

Tipo

Descripción

nombre_materia_1

str

El nombre de la primera materia.

nombre_materia_2

str

El nombre de la segunda materia.

nombre_materia_3

str

El nombre de la tercera materia.

Descripción del retorno:

Tipo

Descripción

int

Retorna el número de materias que cumplen los criterios para gustarle a Pedro.

 

Entradas recientes

Estructura secuencial. solución matemática vs programación

 **Ejemplo resuelto # 4:** Fuente: Capitulo 3 del libro "Lógica de programación de Efraín Oviedo" A la mamá de Juan le preguntan s...

Entradas Populares