día 4 y 5

This commit is contained in:
Rodo Yamazaki
2026-01-26 13:50:57 -06:00
parent c6323a9974
commit ed25b07fa9
3 changed files with 531 additions and 0 deletions

161
day4/excersises.py Normal file
View File

@@ -0,0 +1,161 @@
# 1 Concatenacíon
str1 = "Thirty"
str2 = "Days"
str3 = "Of"
str4 = "Python"
concatenated = str1 + " " + str2 + " " + str3 + " " + str4
print(concatenated)
# 2 Concatenación 2
str5 = "Coding"
str6 = "For"
str7 = "All"
concatenated2 = str5 + " " + str6 + " " + str7
print(concatenated2)
# 3, 4 Impresión de cadena
coding = "Coding For All"
print(coding)
# 5 Longitud de cadena
print(len(coding))
# 6 Mayúsculas
print(coding.upper())
# 7 Minúsculas
print(coding.lower())
# 8 Formateos varios
print(coding.capitalize())
print(coding.title())
print(coding.swapcase())
# 9 Corte de cadena
cadena_cortada = slice(0, 6)
print(coding[cadena_cortada])
print(coding[0:6]) # forma alternativa
# 10 Buscar palabra por índice
index_of_a = coding.index("C")
print(f"Coding encontrado en indice: {index_of_a}")
# 11 Reemplazo de palabra
replaced_coding = coding.replace("Coding", "Python")
print(replaced_coding)
# 12 Reemplazo de palabra 2
replaced_all = coding.replace("All", "Everyone")
print(replaced_all)
# 13 División de cadena
string_to_split = "Coding For All"
split_string = string_to_split.split(" ")
print(split_string)
# 14 División de cadena 2
string_with_commas = "Facebook, Google, Microsoft, Apple, IBM, Oracle, Amazon"
split_companies = string_with_commas.split(", ")
print(split_companies)
# 15 Carácter en índice
first_char = coding[0]
print(first_char)
# 16 Carácter en índice 2
seventh_char = coding[6]
print(seventh_char)
# 17 En indice 10
last_char = coding[10]
print(last_char)
# 18 Acrónimo
phrase = "Python For Everyone"
acronym = phrase[0] + phrase[7] + phrase[11]
print(acronym)
# 19 Acrónimo 2
phrase2 = "Coding For All"
acronym2 = phrase2[0] + phrase2[7] + phrase2[11]
print(acronym2)
# 20 Encuentra "C"
index_C = coding.index("C")
print(index_C)
# 21 Encuentra "F"
index_F = coding.index("F")
print(index_F)
# 22 Encuentra "l" con rfind
index_l = coding.rfind("l")
print(index_l)
# 23 Encontrar primer ocurrencia de "because"
sentence = "You cannot end a sentence with because because because is a conjunction"
index_because = sentence.index("because")
print(index_because)
# 24 Encontrar última ocurrencia de "because"
last_index_because = sentence.rindex("because")
print(last_index_because)
# 25 cortar todos los becauses
first_because = sentence.index("because")
last_because = sentence.rindex("because") + len("because")
sliced_sentence = sentence[first_because:last_because]
print(sliced_sentence)
# 26 encontrar la posicion de la primer ocurrencia de because usando find
found_because = sentence.find("because")
print(found_because)
# 27 quitar la frase because because because
sliced_because = sentence[first_because:last_because]
print(sliced_because)
# 28 Contiene "Coding"?
contains_coding = "Coding" in coding
print(contains_coding)
# 29 Contiene "coding"?
contains_coding_lower = "coding" in coding
print(contains_coding_lower)
# 30 Eliminar espacios sobrantes y después
spaced_string = " Coding For All "
trimmed_string = spaced_string.strip()
print(trimmed_string)
# 31 determinar cuál variable retorna verdadero cuando usamos isidentifier()
var1 = "30DaysOfPython"
var2 = "thirty_days_of_python"
print(var1.isidentifier())
print(var2.isidentifier())
# 32 Joinear lista de strings con un hash con el space string
techs = ['Django', 'Flask', 'Bottle', 'Pyramid', 'Falcon']
joined_techs = '# '.join(techs)
print(joined_techs)
# 33 Retornar el string formateado con salto de linea
formatted_string = "I am enjoying learning Python.\nI am enjoying learning Data Science."
print(formatted_string)
# 34 Retornar el string formateado con tabulaciones
formatted_string_tabs = "Name\tAge\tCountry\tCity\nAsabeneh\t250\tFinland\tHelsinki"
print(formatted_string_tabs)
# 35 Usar formateo de cadenas para mostrar datos
radius = 10
area = 3.14 * radius ** 2
formatted_area = f"The area of a circle with radius {radius} is {area} meters square."
print(formatted_area)
# 36 formateo de cadenas con operaciones matemáticas
a = 8
b = 6
formatted_math = f"{a} + {b} = {a + b}\n\{a} - {b} = {a - b}\n{a} * {b} = {a * b}\n{a} / {b} = {a / b}\n{a} % {b} = {a % b}\n{a} // {b} = {a // b}\n{a} ** {b} = {a ** b}"
print(formatted_math)

258
day5/excersises2.py Normal file
View File

@@ -0,0 +1,258 @@
# Se presenta la siguiente lista
ages = [19, 22, 19, 24, 20, 25, 26, 24, 25, 24]
# 1 ordenar la lista y encontrar la edad menor y mayor
ages.sort()
# 2 agregar la edad menor y mayor nuevamente al inicio y al final de la lista
ages.insert(0, ages[0])
ages.append(ages[-1])
print(ages)
# 3 encontrar la mediana (el valor medio) de la lista
n = len(ages)
if n % 2 == 0:
median = (ages[n//2 - 1] + ages[n//2]) / 2
else:
median = ages[n//2]
print(f"La mediana es: {median}")
# 4 encontrar el promedio de la lista
average = sum(ages) / n
print(f"El promedio es: {average}")
# 5 encontrar el rango de las edades (max-min)
age_range = ages[-1] - ages[0]
print(f"El rango de edades es: {age_range}")
# 6 comparar (abs(min-promedio) y abs(max-promedio))
min_diff = abs(ages[0] - average)
max_diff = abs(ages[-1] - average)
print(f"Diferencia entre min y promedio: {min_diff}")
print(f"Diferencia entre max y promedio: {max_diff}")
# ============================================================================= #
# ==================== Ejercicios de listas - Parte 2 ========================= #
# ============================================================================= #
# Se presenta la siguiente lista
countries = [
'Afghanistan',
'Albania',
'Algeria',
'Andorra',
'Angola',
'Antigua and Barbuda',
'Argentina',
'Armenia',
'Australia',
'Austria',
'Azerbaijan',
'Bahamas',
'Bahrain',
'Bangladesh',
'Barbados',
'Belarus',
'Belgium',
'Belize',
'Benin',
'Bhutan',
'Bolivia',
'Bosnia and Herzegovina',
'Botswana',
'Brazil',
'Brunei',
'Bulgaria',
'Burkina Faso',
'Burundi',
'Cabo Verde',
'Cambodia',
'Cameroon',
'Canada',
'Central African Republic',
'Chad',
'Chile',
'China',
'Colombia',
'Comoros',
'Congo, Democratic Republic of the',
'Congo, Republic of the',
'Costa Rica',
"Côte d'Ivoire",
'Croatia',
'Cuba',
'Cyprus',
'Czech Republic',
'Denmark',
'Djibouti',
'Dominica',
'Dominican Republic',
'East Timor (Timor-Leste)',
'Ecuador',
'Egypt',
'El Salvador',
'Equatorial Guinea',
'Eritrea',
'Estonia',
'Eswatini',
'Ethiopia',
'Fiji',
'Finland',
'France',
'Gabon',
'Gambia',
'Georgia',
'Germany',
'Ghana',
'Greece',
'Grenada',
'Guatemala',
'Guinea',
'Guinea-Bissau',
'Guyana',
'Haiti',
'Honduras',
'Hungary',
'Iceland',
'India',
'Indonesia',
'Iran',
'Iraq',
'Ireland',
'Israel',
'Italy',
'Jamaica',
'Japan',
'Jordan',
'Kazakhstan',
'Kenya',
'Kiribati',
'Korea, North',
'Korea, South',
'Kuwait',
'Kyrgyzstan',
'Laos',
'Latvia',
'Lebanon',
'Lesotho',
'Liberia',
'Libya',
'Liechtenstein',
'Lithuania',
'Luxembourg',
'Madagascar',
'Malawi',
'Malaysia',
'Maldives',
'Mali',
'Malta',
'Marshall Islands',
'Mauritania',
'Mauritius',
'Mexico',
'Micronesia',
'Moldova',
'Monaco',
'Mongolia',
'Montenegro',
'Morocco',
'Mozambique',
'Myanmar',
'Namibia',
'Nauru',
'Nepal',
'Netherlands',
'New Zealand',
'Nicaragua',
'Niger',
'Nigeria',
'North Macedonia',
'Norway',
'Oman',
'Pakistan',
'Palau',
'Palestine',
'Panama',
'Papua New Guinea',
'Paraguay',
'Peru',
'Philippines',
'Poland',
'Portugal',
'Qatar',
'Romania',
'Russia',
'Rwanda',
'Saint Kitts and Nevis',
'Saint Lucia',
'Saint Vincent and the Grenadines',
'Samoa',
'San Marino',
'Sao Tome and Principe',
'Saudi Arabia',
'Senegal',
'Serbia',
'Seychelles',
'Sierra Leone',
'Singapore',
'Slovakia',
'Slovenia',
'Solomon Islands',
'Somalia',
'South Africa',
'South Sudan',
'Spain',
'Sri Lanka',
'Sudan',
'Suriname',
'Sweden',
'Switzerland',
'Syria',
'Tajikistan',
'Tanzania',
'Thailand',
'Togo',
'Tonga',
'Trinidad and Tobago',
'Tunisia',
'Turkey',
'Turkmenistan',
'Tuvalu',
'Uganda',
'Ukraine',
'United Arab Emirates',
'United Kingdom',
'United States',
'Uruguay',
'Uzbekistan',
'Vanuatu',
'Vatican City',
'Venezuela',
'Vietnam',
'Yemen',
'Zambia',
'Zimbabwe'
]
# 1 encontrar el país de enmedio
pais_medio = countries[len(countries)//2]
print(f"El país del medio es: {pais_medio}")
# 2 dividir la lista de países en dos listas iguales (si el número de países es impar, agregar el país del medio a la primera lista)
mid_index = (len(countries) + 1) // 2
primera_mitad = countries[:mid_index]
segunda_mitad = countries[mid_index:]
print("Primera mitad de países:", primera_mitad)
print("Segunda mitad de países:", segunda_mitad)
# Se presentan la siguiente lista
paises_random = ['China', 'Russia', 'USA', 'Finland', 'Sweden', 'Norway', 'Denmark']
# 3 desempaquetar los primeros 3 países y el resto de países escandinavos en una lista llamada otros_paises
pais1, pais2, pais3, *otros_paises = paises_random
print(f"País 1: {pais1}")
print(f"País 2: {pais2}")
print(f"País 3: {pais3}")
print(f"Otros países: {otros_paises}")

112
day5/exercises1.py Normal file
View File

@@ -0,0 +1,112 @@
#LISTAS
# 1 crear una
lista = []
# 2 crear lista con elementos
lista_numeros = [1, 2, 3, 4, 5]
# 3 ver cuán larga es
print(len(lista_numeros))
# 4 ver el primer elemento, el intermedio y el ultimo
print(lista_numeros[0]) # Primer elemento
print(lista_numeros[len(lista_numeros)//2]) # Elemento intermedio
print(lista_numeros[-1]) # Ultimo elemento
# 5 crear lista de elementos mixtos
lista_mixta = ["Juan", 20, 1.76, "Soltero", "Tuxtla Gutiérrez"]
print(lista_mixta)
# 6 declarar lista compañias de tecnología
companias_tecnologia = ["Facebook", "Google", "Microsoft", "Apple", "IBM", "Oracle", "Amazon"]
# 7 imprimir la lista
print(companias_tecnologia)
# 8 imprimir numero de compañias
print(len(companias_tecnologia))
# 9 imprimir primer, medio y ultimo compañia
print(companias_tecnologia[0]) # Primer compañia
print(companias_tecnologia[len(companias_tecnologia)//2]) # Compañia del medio
print(companias_tecnologia[-1]) # Ultima compañia
# 10 modificar compañia del medio
companias_tecnologia[len(companias_tecnologia)//2] = "Meta"
print(companias_tecnologia)
# 11 agregar compañia al final
companias_tecnologia.append("Mitsubishi")
print(companias_tecnologia)
# 12 agregar compañia en el medio
companias_tecnologia.insert(len(companias_tecnologia)//2, "Samsung")
print(companias_tecnologia)
# 13 cambiar el case de una de las compañias a mayusculas
companias_tecnologia[0] = companias_tecnologia[0].upper()
print(companias_tecnologia)
# 14 unir compañias en una sola cadena separada por hashes
companias_cadena = "#".join(companias_tecnologia)
print(companias_cadena)
# 15 checar si existe compañia en la lista
existe_google = "Google" in companias_tecnologia
print(f"¿Google está en la lista? {existe_google}")
# 16 Ordenar la lista
companias_tecnologia.sort()
print(companias_tecnologia)
# 17 Invertir el orden de la lista
companias_tecnologia.reverse()
print(companias_tecnologia)
# 18 Cortar la lista para obtener las primeras 3 compañias
primeras_tres = companias_tecnologia[:3]
print(primeras_tres)
# 19 Cortar la lista para obtener las ultimas 3 compañias
ultimas_tres = companias_tecnologia[-3:]
print(ultimas_tres)
# 20 Cortar la lista para obtener compañias del medio
compañias_medio = companias_tecnologia[2:5]
print(compañias_medio)
# 21 Eliminar la primera compañia
del companias_tecnologia[0]
print(companias_tecnologia)
# 22 Eliminar la compañia del medio
del companias_tecnologia[len(companias_tecnologia)//2]
print(companias_tecnologia)
# 23 Eliminar la ultima compañia
del companias_tecnologia[-1]
print(companias_tecnologia)
# 24 Eliminar todas las compañias
companias_tecnologia.clear()
print(companias_tecnologia)
# 25 destruir la lista
del companias_tecnologia
try:
print(companias_tecnologia)
except NameError:
print("La lista compañias_tecnologia ha sido destruida y ya no existe.")
# Unir dos listas
lista_frontends = ['HTML', 'CSS', 'JS', 'React', 'Redux']
lista_backends = ['Node', 'Express', 'MongoDB']
lista_tecnologias = lista_frontends + lista_backends
print(lista_tecnologias)
# 26 copiar la lista de tecnologias a otra variable y añadir Python y SQL después de redux
lista_fullstack = lista_tecnologias.copy()
lista_fullstack.insert(lista_fullstack.index('Redux') + 1, 'Python')
lista_fullstack.insert(lista_fullstack.index('Python') + 1, 'SQL')
print(lista_fullstack)