Chapter 2: Beginner Level Exercises
Ejercicios de Nivel Principiante
- Ejercicio 1: Calcular el Área de un Círculo
- Ejercicio 2: Contador de Frecuencia de Palabras
- Ejercicio 3: Convertidor de Temperatura Simple
- Ejercicio 4: Comprobador de Números Pares o Impares
- Ejercicio 5: Operaciones de Archivos Simples
- Ejercicio 6: Lista de Múltiplos
- Ejercicio 7: Comprobador de Palíndromos
- Ejercicio 8: Calculadora de Interés Simple
- Ejercicio 9: Generador de Secuencia de Fibonacci
- Ejercicio 10: Comprobador de Año Bisiesto
- Ejercicio 11: Comprobador de Números Primos
- Ejercicio 12: Contar Vocales en una Cadena
- Ejercicio 13: Calcular el Factorial de un Número
- Ejercicio 14: Suma de Dígitos en un Número
- Ejercicio 15: Codificador Cifrado César
- Ejercicio 16: Reversa una Cadena
- Ejercicio 17: Contar Ocurrencias de un Carácter
- Ejercicio 18: Imprimir el Valor ASCII de un Carácter
- Ejercicio 19: Calculadora Simple
- Ejercicio 20: Palabra Más Larga en una Oración
- Ejercicio 21: Calcular el Promedio de Números en una Lista
- Ejercicio 22: Elementos Comunes en Dos Listas
- Ejercicio 23: Encontrar los Números Más Pequeño y Más Grande en una Lista
- Ejercicio 24: Eliminar Duplicados de una Lista
- Ejercicio 25: Ordenar una Lista en Orden Ascendente y Descendente
- Ejercicio 26: Cuadrado y Cubo de Números en una Lista
- Ejercicio 27: Contar el Número de Palabras en una Oración
- Ejercicio 28: Intercambiar Dos Variables
- Ejercicio 29: Distancia Entre Dos Puntos
- Ejercicio 30: Convertir Temperatura de Celsius a Fahrenheit y Viceversa
Ejercicio 1: Calcular el Área de un Círculo
Conceptos:
- Aritmética básica
- Entrada/salida
- Variables
Descripción: Escribe un programa en Python que tome el radio de un círculo como entrada del usuario y calcule su área.
Solución:
import math
radius = float(input("Enter the radius of the circle: "))
area = math.pi * (radius ** 2)
print(f"The area of the circle with radius {radius} is {area:.2f}")
Ejercicio 2: Contador de Frecuencia de Palabras
Conceptos:
- Cadenas de texto
- Diccionarios
- Bucles
Descripción: Escribe un programa en Python que tome una cadena de texto como entrada y cuente la frecuencia de cada palabra en la cadena.
Solución:
input_string = input("Enter a sentence: ")
words = input_string.lower().split()
word_count = {}
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
print("Word frequencies:", word_count)
Ejercicio 3: Conversor Simple de Temperatura
Conceptos:
- Funciones
- Declaraciones condicionales
- Entrada de usuario
Descripción: Escribe un programa en Python que convierta temperaturas entre grados Celsius y Fahrenheit. El programa debe solicitar al usuario la unidad de temperatura y el valor a convertir.
Solución:
def celsius_to_fahrenheit(celsius):
return (celsius * 9/5) + 32
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5/9
unit = input("Enter the temperature unit (C for Celsius, F for Fahrenheit): ")
value = float(input("Enter the temperature value to be converted: "))
if unit.upper() == "C":
print(f"{value} Celsius is {celsius_to_fahrenheit(value):.2f} Fahrenheit.")
elif unit.upper() == "F":
print(f"{value} Fahrenheit is {fahrenheit_to_celsius(value):.2f} Celsius.")
else:
print("Invalid temperature unit.")
Ejercicio 4: Comprobador de Números Pares o Impares
Conceptos:
- Aritmética modular
- Declaraciones condicionales
Descripción: Escribe un programa en Python que compruebe si un número dado es par o impar.
Solución:
number = int(input("Enter an integer: "))
if number % 2 == 0:
print(f"{number} is even.")
else:
print(f"{number} is odd.")
Ejercicio 5: Operaciones de Archivos Simples
Conceptos:
- Entrada/salida de archivos
- Manejo de excepciones
- Manipulación de cadenas de texto
Descripción: Escribe un programa en Python que lea un archivo de texto, convierta su contenido a mayúsculas y escriba el resultado en un nuevo archivo. Si el archivo de entrada no existe, muestra un mensaje de error.
Solución:
input_file = input("Enter the name of the input file: ")
output_file = input("Enter the name of the output file: ")
try:
with open(input_file, "r") as infile:
content = infile.read()
uppercase_content = content.upper()
with open(output_file, "w") as outfile:
outfile.write(uppercase_content)
print("The content has been converted to uppercase and saved in the output file.")
except FileNotFoundError:
print(f"The file '{input_file}' does not exist.")
Ejercicio 6: Lista de Múltiplos
Conceptos:
- Bucles
- Listas
- Aritmética
Descripción: Escribe un programa en Python que tome un número como entrada y devuelva una lista con sus primeros 10 múltiplos.
Solución:
number = int(input("Enter a number: "))
multiples = [number * i for i in range(1, 11)]
print(f"The first 10 multiples of {number} are: {multiples}")
Ejercicio 7: Comprobador de Palíndromos
Conceptos:
- Cadenas de texto
- Declaraciones condicionales
- Manipulación de cadenas de texto
Descripción: Escribe un programa en Python que compruebe si una palabra o frase dada es un palíndromo. Ignora espacios, puntuación y mayúsculas.
Solución:
import re
input_string = input("Enter a word or phrase: ")
processed_string = re.sub(r'\W+', '', input_string.lower())
reversed_string = processed_string[::-1]
if processed_string == reversed_string:
print(f"'{input_string}' is a palindrome.")
else:
print(f"'{input_string}' is not a palindrome.")
Ejercicio 8: Calculadora de Interés Simple
Conceptos:
- Aritmética
- Entrada/salida
- Variables
Descripción: Escribe un programa en Python que calcule el interés simple para una cantidad principal, una tasa de interés y un número de años dados.
Solución:
principal = float(input("Enter the principal amount: "))
rate = float(input("Enter the rate of interest (percentage): "))
years = int(input("Enter the number of years: "))
interest = principal * rate * years / 100
total_amount = principal + interest
print(f"The simple interest is: {interest:.2f}")
print(f"The total amount after {years} years is: {total_amount:.2f}")
Ejercicio 9: Generador de Secuencia de Fibonacci
Conceptos:
- Bucles
- Listas
- Funciones
Descripción: Escribe un programa en Python que genere los primeros n números de la secuencia de Fibonacci, donde n es proporcionado por el usuario.
Solución:
def generate_fibonacci(n):
sequence = [0, 1]
for i in range(2, n):
sequence.append(sequence[-1] + sequence[-2])
return sequence[:n]
n = int(input("Enter the number of Fibonacci numbers to generate: "))
fibonacci_sequence = generate_fibonacci(n)
print(f"The first {n} Fibonacci numbers are: {fibonacci_sequence}")
Ejercicio 10: Comprobador de Año Bisiesto
Conceptos:
- Declaraciones condicionales
- Aritmética modular
Descripción: Escribe un programa en Python que compruebe si un año dado es un año bisiesto.
Solución:
year = int(input("Enter a year: "))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(f"{year} is a leap year.")
else:
print(f"{year} is not a leap year.")
Ejercicio 11: Comprobador de Números Primos
Conceptos:
- Bucles
- Declaraciones condicionales
- Funciones
Descripción: Escribe un programa en Python que compruebe si un número dado es un número primo.
Solución:
def is_prime(number):
if number <= 1:
return False
for i in range(2, number):
if number % i == 0:
return False
return True
number = int(input("Enter a number: "))
if is_prime(number):
print(f"{number} is a prime number.")
else:
print(f"{number} is not a prime number.")
Ejercicio 12: Contar Vocales en una Cadena de Texto
Conceptos:
- Cadenas de texto
- Bucles
- Diccionarios
Descripción: Escribe un programa en Python que cuente el número de vocales en una cadena de texto dada.
Solución:
input_string = input("Enter a string: ").lower()
vowels = "aeiou"
vowel_count = {}
for char in input_string:
if char in vowels:
if char in vowel_count:
vowel_count[char] += 1
else:
vowel_count[char] = 1
print("Vowel count:", vowel_count)
Ejercicio 13: Calcular el Factorial de un Número
Conceptos:
- Bucles
- Declaraciones condicionales
- Funciones
Descripción: Escribe un programa en Python que calcule el factorial de un número dado utilizando bucles.
Solución:
def factorial(number):
if number == 0 or number == 1:
return 1
result = 1
for i in range(2, number + 1):
result *= i
return result
number = int(input("Enter a number: "))
print(f"The factorial of {number} is {factorial(number)}")
Ejercicio 14: Suma de Dígitos en un Número
Conceptos:
- Bucles
- Aritmética
- Cadenas de texto
Descripción: Escribe un programa en Python que calcule la suma de los dígitos de un número entero dado.
Solución:
number = int(input("Enter an integer: "))
sum_of_digits = sum(int(digit) for digit in str(number))
print(f"The sum of the digits of {number} is {sum_of_digits}")
Ejercicio 15: Codificador Cifrado César
Conceptos:
- Cadenas de texto
- Bucles
- Aritmética modular
Descripción: Escribe un programa en Python que implemente un cifrado César simple. El programa debe tomar una cadena de texto y un valor de desplazamiento entero como entrada, y devolver la cadena codificada.
Solución:
def caesar_cipher(text, shift):
encrypted = []
for char in text:
if char.isalpha():
shift_amount = shift % 26
new_ord = ord(char) + shift_amount
if char.islower():
if new_ord > ord("z"):
new_ord -= 26
else:
if new_ord > ord("Z"):
new_ord -= 26
encrypted.append(chr(new_ord))
else:
encrypted.append(char)
return "".join(encrypted)
text = input("Enter a string: ")
shift = int(input("Enter the shift value: "))
encoded_text = caesar_cipher(text, shift)
print(f"The encoded text is: {encoded_text}")
Ejercicio 16: Invertir una Cadena de Texto
Conceptos:
- Cadenas de texto
- Bucles
- Slicing
Descripción: Escribe un programa en Python que invierta una cadena de texto dada.
Solución:
input_string = input("Enter a string: ")
reversed_string = input_string[::-1]
print(f"The reversed string is: {reversed_string}")
Ejercicio 17: Contar Ocurrencias de un Carácter
Conceptos:
- Cadenas de texto
- Bucles
- Diccionarios
Descripción: Escribe un programa en Python que cuente las ocurrencias de un carácter específico en una cadena de texto dada.
Solución:
input_string = input("Enter a string: ")
target_char = input("Enter a character to count: ")
count = input_string.lower().count(target_char.lower())
print(f"The character '{target_char}' occurs {count} times in the string.")
Ejercicio 18: Imprimir el Valor ASCII de un Carácter
Conceptos:
- Entrada/salida
- Función ord()
Descripción: Escribe un programa en Python que tome un solo carácter como entrada y muestre su valor ASCII.
Solución:
char = input("Enter a single character: ")
if len(char) == 1:
print(f"The ASCII value of '{char}' is {ord(char)}")
else:
print("Invalid input. Please enter a single character.")
Ejercicio 19: Calculadora Simple
Conceptos:
- Funciones
- Entrada/salida
- Declaraciones condicionales
Descripción: Escribe un programa en Python que cree una calculadora simple que pueda realizar sumas, restas, multiplicaciones y divisiones. El programa debe pedir al usuario la operación, los dos números y luego mostrar el resultado.
Solución:
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
return x / y
operation = input("Enter the operation (add, subtract, multiply, divide): ")
num1 = float(input("Enter the first number: "))
num2 = float(input("Enter the second number: "))
if operation.lower() == "add":
print(f"The result is: {add(num1, num2)}")
elif operation.lower() == "subtract":
print(f"The result is: {subtract(num1, num2)}")
elif operation.lower() == "multiply":
print(f"The result is: {multiply(num1, num2)}")
elif operation.lower() == "divide":
if num2 == 0:
print("Error: Division by zero is not allowed.")
else:
print(f"The result is: {divide(num1, num2)}")
else:
print("Invalid operation.")
Ejercicio 20: Palabra más Larga en una Oración
Conceptos:
- Cadenas de texto
- Bucles
- Manipulación de cadenas de texto
Descripción: Escribe un programa en Python que tome una oración como entrada y devuelva la palabra más larga de la oración.
Solución:
input_sentence = input("Enter a sentence: ")
words = input_sentence.split()
longest_word = ""
max_length = 0
for word in words:
if len(word) > max_length:
max_length = len(word)
longest_word = word
print(f"The longest word in the sentence is: {longest_word}")
Ejercicio 21: Calcular el Promedio de Números en una Lista
Conceptos:
- Listas
- Bucles
- Aritmética
Descripción: Escribe un programa en Python que calcule el promedio de una lista de números.
Solución:
numbers = [float(x) for x in input("Enter a list of numbers separated by spaces: ").split()]
average = sum(numbers) / len(numbers)
print(f"The average of the numbers is: {average:.2f}")
Ejercicio 22: Elementos Comunes en Dos Listas
Conceptos:
- Listas
- Bucles
- Conjuntos
Descripción: Escribe un programa en Python que tome dos listas y devuelva una lista de elementos comunes.
Solución:
list1 = input("Enter the first list of numbers separated by spaces: ").split()
list2 = input("Enter the second list of numbers separated by spaces: ").split()
common_elements = list(set(list1) & set(list2))
print(f"The common elements in the two lists are: {common_elements}")
Ejercicio 23: Encontrar los Números más Pequeño y más Grande en una Lista
Conceptos:
- Listas
- Bucles
- Funciones min() y max()
Descripción: Escribe un programa en Python que tome una lista de números como entrada y devuelva los números más pequeño y más grande de la lista.
Solución:
numbers = [float(x) for x in input("Enter a list of numbers separated by spaces: ").split()]
smallest_number = min(numbers)
largest_number = max(numbers)
print(f"The smallest number is: {smallest_number}")
print(f"The largest number is: {largest_number}")
Ejercicio 24: Eliminar Duplicados de una Lista
Conceptos:
- Listas
- Conjuntos
- Comprensiones de listas
Descripción: Escribe un programa en Python que tome una lista y devuelva una nueva lista sin duplicados.
Solución:
input_list = input("Enter a list of elements separated by spaces: ").split()
unique_list = list(dict.fromkeys(input_list))
print(f"The list without duplicates is: {unique_list}")
Ejercicio 25: Ordenar una Lista en Orden Ascendente y Descendente
Conceptos:
- Listas
- Ordenamiento
Descripción: Escribe un programa en Python que tome una lista de números como entrada y devuelva la misma lista ordenada en orden ascendente y descendente.
Solución:
numbers = [float(x) for x in input("Enter a list of numbers separated by spaces: ").split()]
ascending_sorted_list = sorted(numbers)
descending_sorted_list = sorted(numbers, reverse=True)
print(f"The list sorted in ascending order is: {ascending_sorted_list}")
print(f"The list sorted in descending order is: {descending_sorted_list}")
Ejercicio 26: Cuadrado y Cubo de Números en una Lista
Conceptos:
- Listas
- Bucles
- Comprensiones de listas
Descripción: Escribe un programa en Python que tome una lista de números y devuelva una nueva lista que contenga el cuadrado y el cubo de cada número.
Solución:
numbers = [int(x) for x in input("Enter a list of numbers separated by spaces: ").split()]
squares_and_cubes = [(x**2, x**3) for x in numbers]
print(f"The squares and cubes of the numbers are: {squares_and_cubes}")
Ejercicio 27: Contar el Número de Palabras en una Oración
Conceptos:
- Cadenas de texto
- Manipulación de cadenas de texto
Descripción: Escribe un programa en Python que tome una oración como entrada y cuente el número de palabras en la oración.
Solución:
input_sentence = input("Enter a sentence: ")
words = input_sentence.split()
word_count = len(words)
print(f"The number of words in the sentence is: {word_count}")
Ejercicio 28: Intercambiar Dos Variables
Conceptos:
- Variables
- Tuplas
Descripción: Escribe un programa en Python que tome dos variables como entrada y intercambie sus valores.
Solución:
x = input("Enter the value of x: ")
y = input("Enter the value of y: ")
print(f"Before swapping: x = {x}, y = {y}")
x, y = y, x
print(f"After swapping: x = {x}, y = {y}")
Ejercicio 29: Distancia Entre Dos Puntos
Conceptos:
- Funciones
- Entrada/salida
- Módulo math
Descripción: Escribe un programa en Python que calcule la distancia entre dos puntos en un espacio 2D. Las coordenadas de los puntos deben ser proporcionadas por el usuario.
Solución:
import math
def distance(x1, y1, x2, y2):
return math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
x1, y1 = map(float, input("Enter the coordinates of the first point (x1, y1): ").split())
x2, y2 = map(float, input("Enter the coordinates of the second point (x2, y2): ").split())
result = distance(x1, y1, x2, y2)
print(f"The distance between the two points is: {result:.2f}")
Ejercicio 30: Convertir Temperatura de Celsius a Fahrenheit y Viceversa
Conceptos:
- Funciones
- Entrada/salida
- Declaraciones condicionales
Descripción: Escribe un programa en Python que convierta temperaturas entre grados Celsius y grados Fahrenheit. El usuario debe proporcionar el valor de la temperatura y la unidad.
Solución:
def celsius_to_fahrenheit(celsius):
return (celsius * 9/5) + 32
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5/9
temperature = float(input("Enter the temperature value: "))
unit = input("Enter the unit (C for Celsius, F for Fahrenheit): ")
if unit.upper() == "C":
result = celsius_to_fahrenheit(temperature)
print(f"{temperature} Celsius is equal to {result:.2f} Fahrenheit")
elif unit.upper() == "F":
result = fahrenheit_to_celsius(temperature)
print(f"{temperature} Fahrenheit is equal to {result:.2f} Celsius")
else:
print("Invalid unit. Please enter 'C' for Celsius or 'F' for Fahrenheit.")
Ejercicios de Nivel Principiante
- Ejercicio 1: Calcular el Área de un Círculo
- Ejercicio 2: Contador de Frecuencia de Palabras
- Ejercicio 3: Convertidor de Temperatura Simple
- Ejercicio 4: Comprobador de Números Pares o Impares
- Ejercicio 5: Operaciones de Archivos Simples
- Ejercicio 6: Lista de Múltiplos
- Ejercicio 7: Comprobador de Palíndromos
- Ejercicio 8: Calculadora de Interés Simple
- Ejercicio 9: Generador de Secuencia de Fibonacci
- Ejercicio 10: Comprobador de Año Bisiesto
- Ejercicio 11: Comprobador de Números Primos
- Ejercicio 12: Contar Vocales en una Cadena
- Ejercicio 13: Calcular el Factorial de un Número
- Ejercicio 14: Suma de Dígitos en un Número
- Ejercicio 15: Codificador Cifrado César
- Ejercicio 16: Reversa una Cadena
- Ejercicio 17: Contar Ocurrencias de un Carácter
- Ejercicio 18: Imprimir el Valor ASCII de un Carácter
- Ejercicio 19: Calculadora Simple
- Ejercicio 20: Palabra Más Larga en una Oración
- Ejercicio 21: Calcular el Promedio de Números en una Lista
- Ejercicio 22: Elementos Comunes en Dos Listas
- Ejercicio 23: Encontrar los Números Más Pequeño y Más Grande en una Lista
- Ejercicio 24: Eliminar Duplicados de una Lista
- Ejercicio 25: Ordenar una Lista en Orden Ascendente y Descendente
- Ejercicio 26: Cuadrado y Cubo de Números en una Lista
- Ejercicio 27: Contar el Número de Palabras en una Oración
- Ejercicio 28: Intercambiar Dos Variables
- Ejercicio 29: Distancia Entre Dos Puntos
- Ejercicio 30: Convertir Temperatura de Celsius a Fahrenheit y Viceversa
Ejercicio 1: Calcular el Área de un Círculo
Conceptos:
- Aritmética básica
- Entrada/salida
- Variables
Descripción: Escribe un programa en Python que tome el radio de un círculo como entrada del usuario y calcule su área.
Solución:
import math
radius = float(input("Enter the radius of the circle: "))
area = math.pi * (radius ** 2)
print(f"The area of the circle with radius {radius} is {area:.2f}")
Ejercicio 2: Contador de Frecuencia de Palabras
Conceptos:
- Cadenas de texto
- Diccionarios
- Bucles
Descripción: Escribe un programa en Python que tome una cadena de texto como entrada y cuente la frecuencia de cada palabra en la cadena.
Solución:
input_string = input("Enter a sentence: ")
words = input_string.lower().split()
word_count = {}
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
print("Word frequencies:", word_count)
Ejercicio 3: Conversor Simple de Temperatura
Conceptos:
- Funciones
- Declaraciones condicionales
- Entrada de usuario
Descripción: Escribe un programa en Python que convierta temperaturas entre grados Celsius y Fahrenheit. El programa debe solicitar al usuario la unidad de temperatura y el valor a convertir.
Solución:
def celsius_to_fahrenheit(celsius):
return (celsius * 9/5) + 32
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5/9
unit = input("Enter the temperature unit (C for Celsius, F for Fahrenheit): ")
value = float(input("Enter the temperature value to be converted: "))
if unit.upper() == "C":
print(f"{value} Celsius is {celsius_to_fahrenheit(value):.2f} Fahrenheit.")
elif unit.upper() == "F":
print(f"{value} Fahrenheit is {fahrenheit_to_celsius(value):.2f} Celsius.")
else:
print("Invalid temperature unit.")
Ejercicio 4: Comprobador de Números Pares o Impares
Conceptos:
- Aritmética modular
- Declaraciones condicionales
Descripción: Escribe un programa en Python que compruebe si un número dado es par o impar.
Solución:
number = int(input("Enter an integer: "))
if number % 2 == 0:
print(f"{number} is even.")
else:
print(f"{number} is odd.")
Ejercicio 5: Operaciones de Archivos Simples
Conceptos:
- Entrada/salida de archivos
- Manejo de excepciones
- Manipulación de cadenas de texto
Descripción: Escribe un programa en Python que lea un archivo de texto, convierta su contenido a mayúsculas y escriba el resultado en un nuevo archivo. Si el archivo de entrada no existe, muestra un mensaje de error.
Solución:
input_file = input("Enter the name of the input file: ")
output_file = input("Enter the name of the output file: ")
try:
with open(input_file, "r") as infile:
content = infile.read()
uppercase_content = content.upper()
with open(output_file, "w") as outfile:
outfile.write(uppercase_content)
print("The content has been converted to uppercase and saved in the output file.")
except FileNotFoundError:
print(f"The file '{input_file}' does not exist.")
Ejercicio 6: Lista de Múltiplos
Conceptos:
- Bucles
- Listas
- Aritmética
Descripción: Escribe un programa en Python que tome un número como entrada y devuelva una lista con sus primeros 10 múltiplos.
Solución:
number = int(input("Enter a number: "))
multiples = [number * i for i in range(1, 11)]
print(f"The first 10 multiples of {number} are: {multiples}")
Ejercicio 7: Comprobador de Palíndromos
Conceptos:
- Cadenas de texto
- Declaraciones condicionales
- Manipulación de cadenas de texto
Descripción: Escribe un programa en Python que compruebe si una palabra o frase dada es un palíndromo. Ignora espacios, puntuación y mayúsculas.
Solución:
import re
input_string = input("Enter a word or phrase: ")
processed_string = re.sub(r'\W+', '', input_string.lower())
reversed_string = processed_string[::-1]
if processed_string == reversed_string:
print(f"'{input_string}' is a palindrome.")
else:
print(f"'{input_string}' is not a palindrome.")
Ejercicio 8: Calculadora de Interés Simple
Conceptos:
- Aritmética
- Entrada/salida
- Variables
Descripción: Escribe un programa en Python que calcule el interés simple para una cantidad principal, una tasa de interés y un número de años dados.
Solución:
principal = float(input("Enter the principal amount: "))
rate = float(input("Enter the rate of interest (percentage): "))
years = int(input("Enter the number of years: "))
interest = principal * rate * years / 100
total_amount = principal + interest
print(f"The simple interest is: {interest:.2f}")
print(f"The total amount after {years} years is: {total_amount:.2f}")
Ejercicio 9: Generador de Secuencia de Fibonacci
Conceptos:
- Bucles
- Listas
- Funciones
Descripción: Escribe un programa en Python que genere los primeros n números de la secuencia de Fibonacci, donde n es proporcionado por el usuario.
Solución:
def generate_fibonacci(n):
sequence = [0, 1]
for i in range(2, n):
sequence.append(sequence[-1] + sequence[-2])
return sequence[:n]
n = int(input("Enter the number of Fibonacci numbers to generate: "))
fibonacci_sequence = generate_fibonacci(n)
print(f"The first {n} Fibonacci numbers are: {fibonacci_sequence}")
Ejercicio 10: Comprobador de Año Bisiesto
Conceptos:
- Declaraciones condicionales
- Aritmética modular
Descripción: Escribe un programa en Python que compruebe si un año dado es un año bisiesto.
Solución:
year = int(input("Enter a year: "))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(f"{year} is a leap year.")
else:
print(f"{year} is not a leap year.")
Ejercicio 11: Comprobador de Números Primos
Conceptos:
- Bucles
- Declaraciones condicionales
- Funciones
Descripción: Escribe un programa en Python que compruebe si un número dado es un número primo.
Solución:
def is_prime(number):
if number <= 1:
return False
for i in range(2, number):
if number % i == 0:
return False
return True
number = int(input("Enter a number: "))
if is_prime(number):
print(f"{number} is a prime number.")
else:
print(f"{number} is not a prime number.")
Ejercicio 12: Contar Vocales en una Cadena de Texto
Conceptos:
- Cadenas de texto
- Bucles
- Diccionarios
Descripción: Escribe un programa en Python que cuente el número de vocales en una cadena de texto dada.
Solución:
input_string = input("Enter a string: ").lower()
vowels = "aeiou"
vowel_count = {}
for char in input_string:
if char in vowels:
if char in vowel_count:
vowel_count[char] += 1
else:
vowel_count[char] = 1
print("Vowel count:", vowel_count)
Ejercicio 13: Calcular el Factorial de un Número
Conceptos:
- Bucles
- Declaraciones condicionales
- Funciones
Descripción: Escribe un programa en Python que calcule el factorial de un número dado utilizando bucles.
Solución:
def factorial(number):
if number == 0 or number == 1:
return 1
result = 1
for i in range(2, number + 1):
result *= i
return result
number = int(input("Enter a number: "))
print(f"The factorial of {number} is {factorial(number)}")
Ejercicio 14: Suma de Dígitos en un Número
Conceptos:
- Bucles
- Aritmética
- Cadenas de texto
Descripción: Escribe un programa en Python que calcule la suma de los dígitos de un número entero dado.
Solución:
number = int(input("Enter an integer: "))
sum_of_digits = sum(int(digit) for digit in str(number))
print(f"The sum of the digits of {number} is {sum_of_digits}")
Ejercicio 15: Codificador Cifrado César
Conceptos:
- Cadenas de texto
- Bucles
- Aritmética modular
Descripción: Escribe un programa en Python que implemente un cifrado César simple. El programa debe tomar una cadena de texto y un valor de desplazamiento entero como entrada, y devolver la cadena codificada.
Solución:
def caesar_cipher(text, shift):
encrypted = []
for char in text:
if char.isalpha():
shift_amount = shift % 26
new_ord = ord(char) + shift_amount
if char.islower():
if new_ord > ord("z"):
new_ord -= 26
else:
if new_ord > ord("Z"):
new_ord -= 26
encrypted.append(chr(new_ord))
else:
encrypted.append(char)
return "".join(encrypted)
text = input("Enter a string: ")
shift = int(input("Enter the shift value: "))
encoded_text = caesar_cipher(text, shift)
print(f"The encoded text is: {encoded_text}")
Ejercicio 16: Invertir una Cadena de Texto
Conceptos:
- Cadenas de texto
- Bucles
- Slicing
Descripción: Escribe un programa en Python que invierta una cadena de texto dada.
Solución:
input_string = input("Enter a string: ")
reversed_string = input_string[::-1]
print(f"The reversed string is: {reversed_string}")
Ejercicio 17: Contar Ocurrencias de un Carácter
Conceptos:
- Cadenas de texto
- Bucles
- Diccionarios
Descripción: Escribe un programa en Python que cuente las ocurrencias de un carácter específico en una cadena de texto dada.
Solución:
input_string = input("Enter a string: ")
target_char = input("Enter a character to count: ")
count = input_string.lower().count(target_char.lower())
print(f"The character '{target_char}' occurs {count} times in the string.")
Ejercicio 18: Imprimir el Valor ASCII de un Carácter
Conceptos:
- Entrada/salida
- Función ord()
Descripción: Escribe un programa en Python que tome un solo carácter como entrada y muestre su valor ASCII.
Solución:
char = input("Enter a single character: ")
if len(char) == 1:
print(f"The ASCII value of '{char}' is {ord(char)}")
else:
print("Invalid input. Please enter a single character.")
Ejercicio 19: Calculadora Simple
Conceptos:
- Funciones
- Entrada/salida
- Declaraciones condicionales
Descripción: Escribe un programa en Python que cree una calculadora simple que pueda realizar sumas, restas, multiplicaciones y divisiones. El programa debe pedir al usuario la operación, los dos números y luego mostrar el resultado.
Solución:
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
return x / y
operation = input("Enter the operation (add, subtract, multiply, divide): ")
num1 = float(input("Enter the first number: "))
num2 = float(input("Enter the second number: "))
if operation.lower() == "add":
print(f"The result is: {add(num1, num2)}")
elif operation.lower() == "subtract":
print(f"The result is: {subtract(num1, num2)}")
elif operation.lower() == "multiply":
print(f"The result is: {multiply(num1, num2)}")
elif operation.lower() == "divide":
if num2 == 0:
print("Error: Division by zero is not allowed.")
else:
print(f"The result is: {divide(num1, num2)}")
else:
print("Invalid operation.")
Ejercicio 20: Palabra más Larga en una Oración
Conceptos:
- Cadenas de texto
- Bucles
- Manipulación de cadenas de texto
Descripción: Escribe un programa en Python que tome una oración como entrada y devuelva la palabra más larga de la oración.
Solución:
input_sentence = input("Enter a sentence: ")
words = input_sentence.split()
longest_word = ""
max_length = 0
for word in words:
if len(word) > max_length:
max_length = len(word)
longest_word = word
print(f"The longest word in the sentence is: {longest_word}")
Ejercicio 21: Calcular el Promedio de Números en una Lista
Conceptos:
- Listas
- Bucles
- Aritmética
Descripción: Escribe un programa en Python que calcule el promedio de una lista de números.
Solución:
numbers = [float(x) for x in input("Enter a list of numbers separated by spaces: ").split()]
average = sum(numbers) / len(numbers)
print(f"The average of the numbers is: {average:.2f}")
Ejercicio 22: Elementos Comunes en Dos Listas
Conceptos:
- Listas
- Bucles
- Conjuntos
Descripción: Escribe un programa en Python que tome dos listas y devuelva una lista de elementos comunes.
Solución:
list1 = input("Enter the first list of numbers separated by spaces: ").split()
list2 = input("Enter the second list of numbers separated by spaces: ").split()
common_elements = list(set(list1) & set(list2))
print(f"The common elements in the two lists are: {common_elements}")
Ejercicio 23: Encontrar los Números más Pequeño y más Grande en una Lista
Conceptos:
- Listas
- Bucles
- Funciones min() y max()
Descripción: Escribe un programa en Python que tome una lista de números como entrada y devuelva los números más pequeño y más grande de la lista.
Solución:
numbers = [float(x) for x in input("Enter a list of numbers separated by spaces: ").split()]
smallest_number = min(numbers)
largest_number = max(numbers)
print(f"The smallest number is: {smallest_number}")
print(f"The largest number is: {largest_number}")
Ejercicio 24: Eliminar Duplicados de una Lista
Conceptos:
- Listas
- Conjuntos
- Comprensiones de listas
Descripción: Escribe un programa en Python que tome una lista y devuelva una nueva lista sin duplicados.
Solución:
input_list = input("Enter a list of elements separated by spaces: ").split()
unique_list = list(dict.fromkeys(input_list))
print(f"The list without duplicates is: {unique_list}")
Ejercicio 25: Ordenar una Lista en Orden Ascendente y Descendente
Conceptos:
- Listas
- Ordenamiento
Descripción: Escribe un programa en Python que tome una lista de números como entrada y devuelva la misma lista ordenada en orden ascendente y descendente.
Solución:
numbers = [float(x) for x in input("Enter a list of numbers separated by spaces: ").split()]
ascending_sorted_list = sorted(numbers)
descending_sorted_list = sorted(numbers, reverse=True)
print(f"The list sorted in ascending order is: {ascending_sorted_list}")
print(f"The list sorted in descending order is: {descending_sorted_list}")
Ejercicio 26: Cuadrado y Cubo de Números en una Lista
Conceptos:
- Listas
- Bucles
- Comprensiones de listas
Descripción: Escribe un programa en Python que tome una lista de números y devuelva una nueva lista que contenga el cuadrado y el cubo de cada número.
Solución:
numbers = [int(x) for x in input("Enter a list of numbers separated by spaces: ").split()]
squares_and_cubes = [(x**2, x**3) for x in numbers]
print(f"The squares and cubes of the numbers are: {squares_and_cubes}")
Ejercicio 27: Contar el Número de Palabras en una Oración
Conceptos:
- Cadenas de texto
- Manipulación de cadenas de texto
Descripción: Escribe un programa en Python que tome una oración como entrada y cuente el número de palabras en la oración.
Solución:
input_sentence = input("Enter a sentence: ")
words = input_sentence.split()
word_count = len(words)
print(f"The number of words in the sentence is: {word_count}")
Ejercicio 28: Intercambiar Dos Variables
Conceptos:
- Variables
- Tuplas
Descripción: Escribe un programa en Python que tome dos variables como entrada y intercambie sus valores.
Solución:
x = input("Enter the value of x: ")
y = input("Enter the value of y: ")
print(f"Before swapping: x = {x}, y = {y}")
x, y = y, x
print(f"After swapping: x = {x}, y = {y}")
Ejercicio 29: Distancia Entre Dos Puntos
Conceptos:
- Funciones
- Entrada/salida
- Módulo math
Descripción: Escribe un programa en Python que calcule la distancia entre dos puntos en un espacio 2D. Las coordenadas de los puntos deben ser proporcionadas por el usuario.
Solución:
import math
def distance(x1, y1, x2, y2):
return math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
x1, y1 = map(float, input("Enter the coordinates of the first point (x1, y1): ").split())
x2, y2 = map(float, input("Enter the coordinates of the second point (x2, y2): ").split())
result = distance(x1, y1, x2, y2)
print(f"The distance between the two points is: {result:.2f}")
Ejercicio 30: Convertir Temperatura de Celsius a Fahrenheit y Viceversa
Conceptos:
- Funciones
- Entrada/salida
- Declaraciones condicionales
Descripción: Escribe un programa en Python que convierta temperaturas entre grados Celsius y grados Fahrenheit. El usuario debe proporcionar el valor de la temperatura y la unidad.
Solución:
def celsius_to_fahrenheit(celsius):
return (celsius * 9/5) + 32
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5/9
temperature = float(input("Enter the temperature value: "))
unit = input("Enter the unit (C for Celsius, F for Fahrenheit): ")
if unit.upper() == "C":
result = celsius_to_fahrenheit(temperature)
print(f"{temperature} Celsius is equal to {result:.2f} Fahrenheit")
elif unit.upper() == "F":
result = fahrenheit_to_celsius(temperature)
print(f"{temperature} Fahrenheit is equal to {result:.2f} Celsius")
else:
print("Invalid unit. Please enter 'C' for Celsius or 'F' for Fahrenheit.")
Ejercicios de Nivel Principiante
- Ejercicio 1: Calcular el Área de un Círculo
- Ejercicio 2: Contador de Frecuencia de Palabras
- Ejercicio 3: Convertidor de Temperatura Simple
- Ejercicio 4: Comprobador de Números Pares o Impares
- Ejercicio 5: Operaciones de Archivos Simples
- Ejercicio 6: Lista de Múltiplos
- Ejercicio 7: Comprobador de Palíndromos
- Ejercicio 8: Calculadora de Interés Simple
- Ejercicio 9: Generador de Secuencia de Fibonacci
- Ejercicio 10: Comprobador de Año Bisiesto
- Ejercicio 11: Comprobador de Números Primos
- Ejercicio 12: Contar Vocales en una Cadena
- Ejercicio 13: Calcular el Factorial de un Número
- Ejercicio 14: Suma de Dígitos en un Número
- Ejercicio 15: Codificador Cifrado César
- Ejercicio 16: Reversa una Cadena
- Ejercicio 17: Contar Ocurrencias de un Carácter
- Ejercicio 18: Imprimir el Valor ASCII de un Carácter
- Ejercicio 19: Calculadora Simple
- Ejercicio 20: Palabra Más Larga en una Oración
- Ejercicio 21: Calcular el Promedio de Números en una Lista
- Ejercicio 22: Elementos Comunes en Dos Listas
- Ejercicio 23: Encontrar los Números Más Pequeño y Más Grande en una Lista
- Ejercicio 24: Eliminar Duplicados de una Lista
- Ejercicio 25: Ordenar una Lista en Orden Ascendente y Descendente
- Ejercicio 26: Cuadrado y Cubo de Números en una Lista
- Ejercicio 27: Contar el Número de Palabras en una Oración
- Ejercicio 28: Intercambiar Dos Variables
- Ejercicio 29: Distancia Entre Dos Puntos
- Ejercicio 30: Convertir Temperatura de Celsius a Fahrenheit y Viceversa
Ejercicio 1: Calcular el Área de un Círculo
Conceptos:
- Aritmética básica
- Entrada/salida
- Variables
Descripción: Escribe un programa en Python que tome el radio de un círculo como entrada del usuario y calcule su área.
Solución:
import math
radius = float(input("Enter the radius of the circle: "))
area = math.pi * (radius ** 2)
print(f"The area of the circle with radius {radius} is {area:.2f}")
Ejercicio 2: Contador de Frecuencia de Palabras
Conceptos:
- Cadenas de texto
- Diccionarios
- Bucles
Descripción: Escribe un programa en Python que tome una cadena de texto como entrada y cuente la frecuencia de cada palabra en la cadena.
Solución:
input_string = input("Enter a sentence: ")
words = input_string.lower().split()
word_count = {}
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
print("Word frequencies:", word_count)
Ejercicio 3: Conversor Simple de Temperatura
Conceptos:
- Funciones
- Declaraciones condicionales
- Entrada de usuario
Descripción: Escribe un programa en Python que convierta temperaturas entre grados Celsius y Fahrenheit. El programa debe solicitar al usuario la unidad de temperatura y el valor a convertir.
Solución:
def celsius_to_fahrenheit(celsius):
return (celsius * 9/5) + 32
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5/9
unit = input("Enter the temperature unit (C for Celsius, F for Fahrenheit): ")
value = float(input("Enter the temperature value to be converted: "))
if unit.upper() == "C":
print(f"{value} Celsius is {celsius_to_fahrenheit(value):.2f} Fahrenheit.")
elif unit.upper() == "F":
print(f"{value} Fahrenheit is {fahrenheit_to_celsius(value):.2f} Celsius.")
else:
print("Invalid temperature unit.")
Ejercicio 4: Comprobador de Números Pares o Impares
Conceptos:
- Aritmética modular
- Declaraciones condicionales
Descripción: Escribe un programa en Python que compruebe si un número dado es par o impar.
Solución:
number = int(input("Enter an integer: "))
if number % 2 == 0:
print(f"{number} is even.")
else:
print(f"{number} is odd.")
Ejercicio 5: Operaciones de Archivos Simples
Conceptos:
- Entrada/salida de archivos
- Manejo de excepciones
- Manipulación de cadenas de texto
Descripción: Escribe un programa en Python que lea un archivo de texto, convierta su contenido a mayúsculas y escriba el resultado en un nuevo archivo. Si el archivo de entrada no existe, muestra un mensaje de error.
Solución:
input_file = input("Enter the name of the input file: ")
output_file = input("Enter the name of the output file: ")
try:
with open(input_file, "r") as infile:
content = infile.read()
uppercase_content = content.upper()
with open(output_file, "w") as outfile:
outfile.write(uppercase_content)
print("The content has been converted to uppercase and saved in the output file.")
except FileNotFoundError:
print(f"The file '{input_file}' does not exist.")
Ejercicio 6: Lista de Múltiplos
Conceptos:
- Bucles
- Listas
- Aritmética
Descripción: Escribe un programa en Python que tome un número como entrada y devuelva una lista con sus primeros 10 múltiplos.
Solución:
number = int(input("Enter a number: "))
multiples = [number * i for i in range(1, 11)]
print(f"The first 10 multiples of {number} are: {multiples}")
Ejercicio 7: Comprobador de Palíndromos
Conceptos:
- Cadenas de texto
- Declaraciones condicionales
- Manipulación de cadenas de texto
Descripción: Escribe un programa en Python que compruebe si una palabra o frase dada es un palíndromo. Ignora espacios, puntuación y mayúsculas.
Solución:
import re
input_string = input("Enter a word or phrase: ")
processed_string = re.sub(r'\W+', '', input_string.lower())
reversed_string = processed_string[::-1]
if processed_string == reversed_string:
print(f"'{input_string}' is a palindrome.")
else:
print(f"'{input_string}' is not a palindrome.")
Ejercicio 8: Calculadora de Interés Simple
Conceptos:
- Aritmética
- Entrada/salida
- Variables
Descripción: Escribe un programa en Python que calcule el interés simple para una cantidad principal, una tasa de interés y un número de años dados.
Solución:
principal = float(input("Enter the principal amount: "))
rate = float(input("Enter the rate of interest (percentage): "))
years = int(input("Enter the number of years: "))
interest = principal * rate * years / 100
total_amount = principal + interest
print(f"The simple interest is: {interest:.2f}")
print(f"The total amount after {years} years is: {total_amount:.2f}")
Ejercicio 9: Generador de Secuencia de Fibonacci
Conceptos:
- Bucles
- Listas
- Funciones
Descripción: Escribe un programa en Python que genere los primeros n números de la secuencia de Fibonacci, donde n es proporcionado por el usuario.
Solución:
def generate_fibonacci(n):
sequence = [0, 1]
for i in range(2, n):
sequence.append(sequence[-1] + sequence[-2])
return sequence[:n]
n = int(input("Enter the number of Fibonacci numbers to generate: "))
fibonacci_sequence = generate_fibonacci(n)
print(f"The first {n} Fibonacci numbers are: {fibonacci_sequence}")
Ejercicio 10: Comprobador de Año Bisiesto
Conceptos:
- Declaraciones condicionales
- Aritmética modular
Descripción: Escribe un programa en Python que compruebe si un año dado es un año bisiesto.
Solución:
year = int(input("Enter a year: "))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(f"{year} is a leap year.")
else:
print(f"{year} is not a leap year.")
Ejercicio 11: Comprobador de Números Primos
Conceptos:
- Bucles
- Declaraciones condicionales
- Funciones
Descripción: Escribe un programa en Python que compruebe si un número dado es un número primo.
Solución:
def is_prime(number):
if number <= 1:
return False
for i in range(2, number):
if number % i == 0:
return False
return True
number = int(input("Enter a number: "))
if is_prime(number):
print(f"{number} is a prime number.")
else:
print(f"{number} is not a prime number.")
Ejercicio 12: Contar Vocales en una Cadena de Texto
Conceptos:
- Cadenas de texto
- Bucles
- Diccionarios
Descripción: Escribe un programa en Python que cuente el número de vocales en una cadena de texto dada.
Solución:
input_string = input("Enter a string: ").lower()
vowels = "aeiou"
vowel_count = {}
for char in input_string:
if char in vowels:
if char in vowel_count:
vowel_count[char] += 1
else:
vowel_count[char] = 1
print("Vowel count:", vowel_count)
Ejercicio 13: Calcular el Factorial de un Número
Conceptos:
- Bucles
- Declaraciones condicionales
- Funciones
Descripción: Escribe un programa en Python que calcule el factorial de un número dado utilizando bucles.
Solución:
def factorial(number):
if number == 0 or number == 1:
return 1
result = 1
for i in range(2, number + 1):
result *= i
return result
number = int(input("Enter a number: "))
print(f"The factorial of {number} is {factorial(number)}")
Ejercicio 14: Suma de Dígitos en un Número
Conceptos:
- Bucles
- Aritmética
- Cadenas de texto
Descripción: Escribe un programa en Python que calcule la suma de los dígitos de un número entero dado.
Solución:
number = int(input("Enter an integer: "))
sum_of_digits = sum(int(digit) for digit in str(number))
print(f"The sum of the digits of {number} is {sum_of_digits}")
Ejercicio 15: Codificador Cifrado César
Conceptos:
- Cadenas de texto
- Bucles
- Aritmética modular
Descripción: Escribe un programa en Python que implemente un cifrado César simple. El programa debe tomar una cadena de texto y un valor de desplazamiento entero como entrada, y devolver la cadena codificada.
Solución:
def caesar_cipher(text, shift):
encrypted = []
for char in text:
if char.isalpha():
shift_amount = shift % 26
new_ord = ord(char) + shift_amount
if char.islower():
if new_ord > ord("z"):
new_ord -= 26
else:
if new_ord > ord("Z"):
new_ord -= 26
encrypted.append(chr(new_ord))
else:
encrypted.append(char)
return "".join(encrypted)
text = input("Enter a string: ")
shift = int(input("Enter the shift value: "))
encoded_text = caesar_cipher(text, shift)
print(f"The encoded text is: {encoded_text}")
Ejercicio 16: Invertir una Cadena de Texto
Conceptos:
- Cadenas de texto
- Bucles
- Slicing
Descripción: Escribe un programa en Python que invierta una cadena de texto dada.
Solución:
input_string = input("Enter a string: ")
reversed_string = input_string[::-1]
print(f"The reversed string is: {reversed_string}")
Ejercicio 17: Contar Ocurrencias de un Carácter
Conceptos:
- Cadenas de texto
- Bucles
- Diccionarios
Descripción: Escribe un programa en Python que cuente las ocurrencias de un carácter específico en una cadena de texto dada.
Solución:
input_string = input("Enter a string: ")
target_char = input("Enter a character to count: ")
count = input_string.lower().count(target_char.lower())
print(f"The character '{target_char}' occurs {count} times in the string.")
Ejercicio 18: Imprimir el Valor ASCII de un Carácter
Conceptos:
- Entrada/salida
- Función ord()
Descripción: Escribe un programa en Python que tome un solo carácter como entrada y muestre su valor ASCII.
Solución:
char = input("Enter a single character: ")
if len(char) == 1:
print(f"The ASCII value of '{char}' is {ord(char)}")
else:
print("Invalid input. Please enter a single character.")
Ejercicio 19: Calculadora Simple
Conceptos:
- Funciones
- Entrada/salida
- Declaraciones condicionales
Descripción: Escribe un programa en Python que cree una calculadora simple que pueda realizar sumas, restas, multiplicaciones y divisiones. El programa debe pedir al usuario la operación, los dos números y luego mostrar el resultado.
Solución:
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
return x / y
operation = input("Enter the operation (add, subtract, multiply, divide): ")
num1 = float(input("Enter the first number: "))
num2 = float(input("Enter the second number: "))
if operation.lower() == "add":
print(f"The result is: {add(num1, num2)}")
elif operation.lower() == "subtract":
print(f"The result is: {subtract(num1, num2)}")
elif operation.lower() == "multiply":
print(f"The result is: {multiply(num1, num2)}")
elif operation.lower() == "divide":
if num2 == 0:
print("Error: Division by zero is not allowed.")
else:
print(f"The result is: {divide(num1, num2)}")
else:
print("Invalid operation.")
Ejercicio 20: Palabra más Larga en una Oración
Conceptos:
- Cadenas de texto
- Bucles
- Manipulación de cadenas de texto
Descripción: Escribe un programa en Python que tome una oración como entrada y devuelva la palabra más larga de la oración.
Solución:
input_sentence = input("Enter a sentence: ")
words = input_sentence.split()
longest_word = ""
max_length = 0
for word in words:
if len(word) > max_length:
max_length = len(word)
longest_word = word
print(f"The longest word in the sentence is: {longest_word}")
Ejercicio 21: Calcular el Promedio de Números en una Lista
Conceptos:
- Listas
- Bucles
- Aritmética
Descripción: Escribe un programa en Python que calcule el promedio de una lista de números.
Solución:
numbers = [float(x) for x in input("Enter a list of numbers separated by spaces: ").split()]
average = sum(numbers) / len(numbers)
print(f"The average of the numbers is: {average:.2f}")
Ejercicio 22: Elementos Comunes en Dos Listas
Conceptos:
- Listas
- Bucles
- Conjuntos
Descripción: Escribe un programa en Python que tome dos listas y devuelva una lista de elementos comunes.
Solución:
list1 = input("Enter the first list of numbers separated by spaces: ").split()
list2 = input("Enter the second list of numbers separated by spaces: ").split()
common_elements = list(set(list1) & set(list2))
print(f"The common elements in the two lists are: {common_elements}")
Ejercicio 23: Encontrar los Números más Pequeño y más Grande en una Lista
Conceptos:
- Listas
- Bucles
- Funciones min() y max()
Descripción: Escribe un programa en Python que tome una lista de números como entrada y devuelva los números más pequeño y más grande de la lista.
Solución:
numbers = [float(x) for x in input("Enter a list of numbers separated by spaces: ").split()]
smallest_number = min(numbers)
largest_number = max(numbers)
print(f"The smallest number is: {smallest_number}")
print(f"The largest number is: {largest_number}")
Ejercicio 24: Eliminar Duplicados de una Lista
Conceptos:
- Listas
- Conjuntos
- Comprensiones de listas
Descripción: Escribe un programa en Python que tome una lista y devuelva una nueva lista sin duplicados.
Solución:
input_list = input("Enter a list of elements separated by spaces: ").split()
unique_list = list(dict.fromkeys(input_list))
print(f"The list without duplicates is: {unique_list}")
Ejercicio 25: Ordenar una Lista en Orden Ascendente y Descendente
Conceptos:
- Listas
- Ordenamiento
Descripción: Escribe un programa en Python que tome una lista de números como entrada y devuelva la misma lista ordenada en orden ascendente y descendente.
Solución:
numbers = [float(x) for x in input("Enter a list of numbers separated by spaces: ").split()]
ascending_sorted_list = sorted(numbers)
descending_sorted_list = sorted(numbers, reverse=True)
print(f"The list sorted in ascending order is: {ascending_sorted_list}")
print(f"The list sorted in descending order is: {descending_sorted_list}")
Ejercicio 26: Cuadrado y Cubo de Números en una Lista
Conceptos:
- Listas
- Bucles
- Comprensiones de listas
Descripción: Escribe un programa en Python que tome una lista de números y devuelva una nueva lista que contenga el cuadrado y el cubo de cada número.
Solución:
numbers = [int(x) for x in input("Enter a list of numbers separated by spaces: ").split()]
squares_and_cubes = [(x**2, x**3) for x in numbers]
print(f"The squares and cubes of the numbers are: {squares_and_cubes}")
Ejercicio 27: Contar el Número de Palabras en una Oración
Conceptos:
- Cadenas de texto
- Manipulación de cadenas de texto
Descripción: Escribe un programa en Python que tome una oración como entrada y cuente el número de palabras en la oración.
Solución:
input_sentence = input("Enter a sentence: ")
words = input_sentence.split()
word_count = len(words)
print(f"The number of words in the sentence is: {word_count}")
Ejercicio 28: Intercambiar Dos Variables
Conceptos:
- Variables
- Tuplas
Descripción: Escribe un programa en Python que tome dos variables como entrada y intercambie sus valores.
Solución:
x = input("Enter the value of x: ")
y = input("Enter the value of y: ")
print(f"Before swapping: x = {x}, y = {y}")
x, y = y, x
print(f"After swapping: x = {x}, y = {y}")
Ejercicio 29: Distancia Entre Dos Puntos
Conceptos:
- Funciones
- Entrada/salida
- Módulo math
Descripción: Escribe un programa en Python que calcule la distancia entre dos puntos en un espacio 2D. Las coordenadas de los puntos deben ser proporcionadas por el usuario.
Solución:
import math
def distance(x1, y1, x2, y2):
return math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
x1, y1 = map(float, input("Enter the coordinates of the first point (x1, y1): ").split())
x2, y2 = map(float, input("Enter the coordinates of the second point (x2, y2): ").split())
result = distance(x1, y1, x2, y2)
print(f"The distance between the two points is: {result:.2f}")
Ejercicio 30: Convertir Temperatura de Celsius a Fahrenheit y Viceversa
Conceptos:
- Funciones
- Entrada/salida
- Declaraciones condicionales
Descripción: Escribe un programa en Python que convierta temperaturas entre grados Celsius y grados Fahrenheit. El usuario debe proporcionar el valor de la temperatura y la unidad.
Solución:
def celsius_to_fahrenheit(celsius):
return (celsius * 9/5) + 32
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5/9
temperature = float(input("Enter the temperature value: "))
unit = input("Enter the unit (C for Celsius, F for Fahrenheit): ")
if unit.upper() == "C":
result = celsius_to_fahrenheit(temperature)
print(f"{temperature} Celsius is equal to {result:.2f} Fahrenheit")
elif unit.upper() == "F":
result = fahrenheit_to_celsius(temperature)
print(f"{temperature} Fahrenheit is equal to {result:.2f} Celsius")
else:
print("Invalid unit. Please enter 'C' for Celsius or 'F' for Fahrenheit.")
Ejercicios de Nivel Principiante
- Ejercicio 1: Calcular el Área de un Círculo
- Ejercicio 2: Contador de Frecuencia de Palabras
- Ejercicio 3: Convertidor de Temperatura Simple
- Ejercicio 4: Comprobador de Números Pares o Impares
- Ejercicio 5: Operaciones de Archivos Simples
- Ejercicio 6: Lista de Múltiplos
- Ejercicio 7: Comprobador de Palíndromos
- Ejercicio 8: Calculadora de Interés Simple
- Ejercicio 9: Generador de Secuencia de Fibonacci
- Ejercicio 10: Comprobador de Año Bisiesto
- Ejercicio 11: Comprobador de Números Primos
- Ejercicio 12: Contar Vocales en una Cadena
- Ejercicio 13: Calcular el Factorial de un Número
- Ejercicio 14: Suma de Dígitos en un Número
- Ejercicio 15: Codificador Cifrado César
- Ejercicio 16: Reversa una Cadena
- Ejercicio 17: Contar Ocurrencias de un Carácter
- Ejercicio 18: Imprimir el Valor ASCII de un Carácter
- Ejercicio 19: Calculadora Simple
- Ejercicio 20: Palabra Más Larga en una Oración
- Ejercicio 21: Calcular el Promedio de Números en una Lista
- Ejercicio 22: Elementos Comunes en Dos Listas
- Ejercicio 23: Encontrar los Números Más Pequeño y Más Grande en una Lista
- Ejercicio 24: Eliminar Duplicados de una Lista
- Ejercicio 25: Ordenar una Lista en Orden Ascendente y Descendente
- Ejercicio 26: Cuadrado y Cubo de Números en una Lista
- Ejercicio 27: Contar el Número de Palabras en una Oración
- Ejercicio 28: Intercambiar Dos Variables
- Ejercicio 29: Distancia Entre Dos Puntos
- Ejercicio 30: Convertir Temperatura de Celsius a Fahrenheit y Viceversa
Ejercicio 1: Calcular el Área de un Círculo
Conceptos:
- Aritmética básica
- Entrada/salida
- Variables
Descripción: Escribe un programa en Python que tome el radio de un círculo como entrada del usuario y calcule su área.
Solución:
import math
radius = float(input("Enter the radius of the circle: "))
area = math.pi * (radius ** 2)
print(f"The area of the circle with radius {radius} is {area:.2f}")
Ejercicio 2: Contador de Frecuencia de Palabras
Conceptos:
- Cadenas de texto
- Diccionarios
- Bucles
Descripción: Escribe un programa en Python que tome una cadena de texto como entrada y cuente la frecuencia de cada palabra en la cadena.
Solución:
input_string = input("Enter a sentence: ")
words = input_string.lower().split()
word_count = {}
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
print("Word frequencies:", word_count)
Ejercicio 3: Conversor Simple de Temperatura
Conceptos:
- Funciones
- Declaraciones condicionales
- Entrada de usuario
Descripción: Escribe un programa en Python que convierta temperaturas entre grados Celsius y Fahrenheit. El programa debe solicitar al usuario la unidad de temperatura y el valor a convertir.
Solución:
def celsius_to_fahrenheit(celsius):
return (celsius * 9/5) + 32
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5/9
unit = input("Enter the temperature unit (C for Celsius, F for Fahrenheit): ")
value = float(input("Enter the temperature value to be converted: "))
if unit.upper() == "C":
print(f"{value} Celsius is {celsius_to_fahrenheit(value):.2f} Fahrenheit.")
elif unit.upper() == "F":
print(f"{value} Fahrenheit is {fahrenheit_to_celsius(value):.2f} Celsius.")
else:
print("Invalid temperature unit.")
Ejercicio 4: Comprobador de Números Pares o Impares
Conceptos:
- Aritmética modular
- Declaraciones condicionales
Descripción: Escribe un programa en Python que compruebe si un número dado es par o impar.
Solución:
number = int(input("Enter an integer: "))
if number % 2 == 0:
print(f"{number} is even.")
else:
print(f"{number} is odd.")
Ejercicio 5: Operaciones de Archivos Simples
Conceptos:
- Entrada/salida de archivos
- Manejo de excepciones
- Manipulación de cadenas de texto
Descripción: Escribe un programa en Python que lea un archivo de texto, convierta su contenido a mayúsculas y escriba el resultado en un nuevo archivo. Si el archivo de entrada no existe, muestra un mensaje de error.
Solución:
input_file = input("Enter the name of the input file: ")
output_file = input("Enter the name of the output file: ")
try:
with open(input_file, "r") as infile:
content = infile.read()
uppercase_content = content.upper()
with open(output_file, "w") as outfile:
outfile.write(uppercase_content)
print("The content has been converted to uppercase and saved in the output file.")
except FileNotFoundError:
print(f"The file '{input_file}' does not exist.")
Ejercicio 6: Lista de Múltiplos
Conceptos:
- Bucles
- Listas
- Aritmética
Descripción: Escribe un programa en Python que tome un número como entrada y devuelva una lista con sus primeros 10 múltiplos.
Solución:
number = int(input("Enter a number: "))
multiples = [number * i for i in range(1, 11)]
print(f"The first 10 multiples of {number} are: {multiples}")
Ejercicio 7: Comprobador de Palíndromos
Conceptos:
- Cadenas de texto
- Declaraciones condicionales
- Manipulación de cadenas de texto
Descripción: Escribe un programa en Python que compruebe si una palabra o frase dada es un palíndromo. Ignora espacios, puntuación y mayúsculas.
Solución:
import re
input_string = input("Enter a word or phrase: ")
processed_string = re.sub(r'\W+', '', input_string.lower())
reversed_string = processed_string[::-1]
if processed_string == reversed_string:
print(f"'{input_string}' is a palindrome.")
else:
print(f"'{input_string}' is not a palindrome.")
Ejercicio 8: Calculadora de Interés Simple
Conceptos:
- Aritmética
- Entrada/salida
- Variables
Descripción: Escribe un programa en Python que calcule el interés simple para una cantidad principal, una tasa de interés y un número de años dados.
Solución:
principal = float(input("Enter the principal amount: "))
rate = float(input("Enter the rate of interest (percentage): "))
years = int(input("Enter the number of years: "))
interest = principal * rate * years / 100
total_amount = principal + interest
print(f"The simple interest is: {interest:.2f}")
print(f"The total amount after {years} years is: {total_amount:.2f}")
Ejercicio 9: Generador de Secuencia de Fibonacci
Conceptos:
- Bucles
- Listas
- Funciones
Descripción: Escribe un programa en Python que genere los primeros n números de la secuencia de Fibonacci, donde n es proporcionado por el usuario.
Solución:
def generate_fibonacci(n):
sequence = [0, 1]
for i in range(2, n):
sequence.append(sequence[-1] + sequence[-2])
return sequence[:n]
n = int(input("Enter the number of Fibonacci numbers to generate: "))
fibonacci_sequence = generate_fibonacci(n)
print(f"The first {n} Fibonacci numbers are: {fibonacci_sequence}")
Ejercicio 10: Comprobador de Año Bisiesto
Conceptos:
- Declaraciones condicionales
- Aritmética modular
Descripción: Escribe un programa en Python que compruebe si un año dado es un año bisiesto.
Solución:
year = int(input("Enter a year: "))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(f"{year} is a leap year.")
else:
print(f"{year} is not a leap year.")
Ejercicio 11: Comprobador de Números Primos
Conceptos:
- Bucles
- Declaraciones condicionales
- Funciones
Descripción: Escribe un programa en Python que compruebe si un número dado es un número primo.
Solución:
def is_prime(number):
if number <= 1:
return False
for i in range(2, number):
if number % i == 0:
return False
return True
number = int(input("Enter a number: "))
if is_prime(number):
print(f"{number} is a prime number.")
else:
print(f"{number} is not a prime number.")
Ejercicio 12: Contar Vocales en una Cadena de Texto
Conceptos:
- Cadenas de texto
- Bucles
- Diccionarios
Descripción: Escribe un programa en Python que cuente el número de vocales en una cadena de texto dada.
Solución:
input_string = input("Enter a string: ").lower()
vowels = "aeiou"
vowel_count = {}
for char in input_string:
if char in vowels:
if char in vowel_count:
vowel_count[char] += 1
else:
vowel_count[char] = 1
print("Vowel count:", vowel_count)
Ejercicio 13: Calcular el Factorial de un Número
Conceptos:
- Bucles
- Declaraciones condicionales
- Funciones
Descripción: Escribe un programa en Python que calcule el factorial de un número dado utilizando bucles.
Solución:
def factorial(number):
if number == 0 or number == 1:
return 1
result = 1
for i in range(2, number + 1):
result *= i
return result
number = int(input("Enter a number: "))
print(f"The factorial of {number} is {factorial(number)}")
Ejercicio 14: Suma de Dígitos en un Número
Conceptos:
- Bucles
- Aritmética
- Cadenas de texto
Descripción: Escribe un programa en Python que calcule la suma de los dígitos de un número entero dado.
Solución:
number = int(input("Enter an integer: "))
sum_of_digits = sum(int(digit) for digit in str(number))
print(f"The sum of the digits of {number} is {sum_of_digits}")
Ejercicio 15: Codificador Cifrado César
Conceptos:
- Cadenas de texto
- Bucles
- Aritmética modular
Descripción: Escribe un programa en Python que implemente un cifrado César simple. El programa debe tomar una cadena de texto y un valor de desplazamiento entero como entrada, y devolver la cadena codificada.
Solución:
def caesar_cipher(text, shift):
encrypted = []
for char in text:
if char.isalpha():
shift_amount = shift % 26
new_ord = ord(char) + shift_amount
if char.islower():
if new_ord > ord("z"):
new_ord -= 26
else:
if new_ord > ord("Z"):
new_ord -= 26
encrypted.append(chr(new_ord))
else:
encrypted.append(char)
return "".join(encrypted)
text = input("Enter a string: ")
shift = int(input("Enter the shift value: "))
encoded_text = caesar_cipher(text, shift)
print(f"The encoded text is: {encoded_text}")
Ejercicio 16: Invertir una Cadena de Texto
Conceptos:
- Cadenas de texto
- Bucles
- Slicing
Descripción: Escribe un programa en Python que invierta una cadena de texto dada.
Solución:
input_string = input("Enter a string: ")
reversed_string = input_string[::-1]
print(f"The reversed string is: {reversed_string}")
Ejercicio 17: Contar Ocurrencias de un Carácter
Conceptos:
- Cadenas de texto
- Bucles
- Diccionarios
Descripción: Escribe un programa en Python que cuente las ocurrencias de un carácter específico en una cadena de texto dada.
Solución:
input_string = input("Enter a string: ")
target_char = input("Enter a character to count: ")
count = input_string.lower().count(target_char.lower())
print(f"The character '{target_char}' occurs {count} times in the string.")
Ejercicio 18: Imprimir el Valor ASCII de un Carácter
Conceptos:
- Entrada/salida
- Función ord()
Descripción: Escribe un programa en Python que tome un solo carácter como entrada y muestre su valor ASCII.
Solución:
char = input("Enter a single character: ")
if len(char) == 1:
print(f"The ASCII value of '{char}' is {ord(char)}")
else:
print("Invalid input. Please enter a single character.")
Ejercicio 19: Calculadora Simple
Conceptos:
- Funciones
- Entrada/salida
- Declaraciones condicionales
Descripción: Escribe un programa en Python que cree una calculadora simple que pueda realizar sumas, restas, multiplicaciones y divisiones. El programa debe pedir al usuario la operación, los dos números y luego mostrar el resultado.
Solución:
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
return x / y
operation = input("Enter the operation (add, subtract, multiply, divide): ")
num1 = float(input("Enter the first number: "))
num2 = float(input("Enter the second number: "))
if operation.lower() == "add":
print(f"The result is: {add(num1, num2)}")
elif operation.lower() == "subtract":
print(f"The result is: {subtract(num1, num2)}")
elif operation.lower() == "multiply":
print(f"The result is: {multiply(num1, num2)}")
elif operation.lower() == "divide":
if num2 == 0:
print("Error: Division by zero is not allowed.")
else:
print(f"The result is: {divide(num1, num2)}")
else:
print("Invalid operation.")
Ejercicio 20: Palabra más Larga en una Oración
Conceptos:
- Cadenas de texto
- Bucles
- Manipulación de cadenas de texto
Descripción: Escribe un programa en Python que tome una oración como entrada y devuelva la palabra más larga de la oración.
Solución:
input_sentence = input("Enter a sentence: ")
words = input_sentence.split()
longest_word = ""
max_length = 0
for word in words:
if len(word) > max_length:
max_length = len(word)
longest_word = word
print(f"The longest word in the sentence is: {longest_word}")
Ejercicio 21: Calcular el Promedio de Números en una Lista
Conceptos:
- Listas
- Bucles
- Aritmética
Descripción: Escribe un programa en Python que calcule el promedio de una lista de números.
Solución:
numbers = [float(x) for x in input("Enter a list of numbers separated by spaces: ").split()]
average = sum(numbers) / len(numbers)
print(f"The average of the numbers is: {average:.2f}")
Ejercicio 22: Elementos Comunes en Dos Listas
Conceptos:
- Listas
- Bucles
- Conjuntos
Descripción: Escribe un programa en Python que tome dos listas y devuelva una lista de elementos comunes.
Solución:
list1 = input("Enter the first list of numbers separated by spaces: ").split()
list2 = input("Enter the second list of numbers separated by spaces: ").split()
common_elements = list(set(list1) & set(list2))
print(f"The common elements in the two lists are: {common_elements}")
Ejercicio 23: Encontrar los Números más Pequeño y más Grande en una Lista
Conceptos:
- Listas
- Bucles
- Funciones min() y max()
Descripción: Escribe un programa en Python que tome una lista de números como entrada y devuelva los números más pequeño y más grande de la lista.
Solución:
numbers = [float(x) for x in input("Enter a list of numbers separated by spaces: ").split()]
smallest_number = min(numbers)
largest_number = max(numbers)
print(f"The smallest number is: {smallest_number}")
print(f"The largest number is: {largest_number}")
Ejercicio 24: Eliminar Duplicados de una Lista
Conceptos:
- Listas
- Conjuntos
- Comprensiones de listas
Descripción: Escribe un programa en Python que tome una lista y devuelva una nueva lista sin duplicados.
Solución:
input_list = input("Enter a list of elements separated by spaces: ").split()
unique_list = list(dict.fromkeys(input_list))
print(f"The list without duplicates is: {unique_list}")
Ejercicio 25: Ordenar una Lista en Orden Ascendente y Descendente
Conceptos:
- Listas
- Ordenamiento
Descripción: Escribe un programa en Python que tome una lista de números como entrada y devuelva la misma lista ordenada en orden ascendente y descendente.
Solución:
numbers = [float(x) for x in input("Enter a list of numbers separated by spaces: ").split()]
ascending_sorted_list = sorted(numbers)
descending_sorted_list = sorted(numbers, reverse=True)
print(f"The list sorted in ascending order is: {ascending_sorted_list}")
print(f"The list sorted in descending order is: {descending_sorted_list}")
Ejercicio 26: Cuadrado y Cubo de Números en una Lista
Conceptos:
- Listas
- Bucles
- Comprensiones de listas
Descripción: Escribe un programa en Python que tome una lista de números y devuelva una nueva lista que contenga el cuadrado y el cubo de cada número.
Solución:
numbers = [int(x) for x in input("Enter a list of numbers separated by spaces: ").split()]
squares_and_cubes = [(x**2, x**3) for x in numbers]
print(f"The squares and cubes of the numbers are: {squares_and_cubes}")
Ejercicio 27: Contar el Número de Palabras en una Oración
Conceptos:
- Cadenas de texto
- Manipulación de cadenas de texto
Descripción: Escribe un programa en Python que tome una oración como entrada y cuente el número de palabras en la oración.
Solución:
input_sentence = input("Enter a sentence: ")
words = input_sentence.split()
word_count = len(words)
print(f"The number of words in the sentence is: {word_count}")
Ejercicio 28: Intercambiar Dos Variables
Conceptos:
- Variables
- Tuplas
Descripción: Escribe un programa en Python que tome dos variables como entrada y intercambie sus valores.
Solución:
x = input("Enter the value of x: ")
y = input("Enter the value of y: ")
print(f"Before swapping: x = {x}, y = {y}")
x, y = y, x
print(f"After swapping: x = {x}, y = {y}")
Ejercicio 29: Distancia Entre Dos Puntos
Conceptos:
- Funciones
- Entrada/salida
- Módulo math
Descripción: Escribe un programa en Python que calcule la distancia entre dos puntos en un espacio 2D. Las coordenadas de los puntos deben ser proporcionadas por el usuario.
Solución:
import math
def distance(x1, y1, x2, y2):
return math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
x1, y1 = map(float, input("Enter the coordinates of the first point (x1, y1): ").split())
x2, y2 = map(float, input("Enter the coordinates of the second point (x2, y2): ").split())
result = distance(x1, y1, x2, y2)
print(f"The distance between the two points is: {result:.2f}")
Ejercicio 30: Convertir Temperatura de Celsius a Fahrenheit y Viceversa
Conceptos:
- Funciones
- Entrada/salida
- Declaraciones condicionales
Descripción: Escribe un programa en Python que convierta temperaturas entre grados Celsius y grados Fahrenheit. El usuario debe proporcionar el valor de la temperatura y la unidad.
Solución:
def celsius_to_fahrenheit(celsius):
return (celsius * 9/5) + 32
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5/9
temperature = float(input("Enter the temperature value: "))
unit = input("Enter the unit (C for Celsius, F for Fahrenheit): ")
if unit.upper() == "C":
result = celsius_to_fahrenheit(temperature)
print(f"{temperature} Celsius is equal to {result:.2f} Fahrenheit")
elif unit.upper() == "F":
result = fahrenheit_to_celsius(temperature)
print(f"{temperature} Fahrenheit is equal to {result:.2f} Celsius")
else:
print("Invalid unit. Please enter 'C' for Celsius or 'F' for Fahrenheit.")