Skip to content

Commit d2820d0

Browse files
authored
Merge pull request mouredev#7415 from santiagobailleres/ej00
#4 - Python
2 parents c88343d + f4fcefe commit d2820d0

File tree

2 files changed

+145
-0
lines changed

2 files changed

+145
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Operaciones con cadenas de caracteres
2+
str1 = "Hola"
3+
str2 = "Mundo"
4+
print(str1[0]) # Acceso a caracteres específicos: H
5+
print(str1[1:3]) # Subcadenas: Hola -> ol (slicing)
6+
print(len(str1)) # Longitud: 4
7+
print(str1 +', ' + str2) # Concatenación: Hola, Mundo
8+
print(str1 * 3) # Repetición: HolaHolaHola
9+
for i in str1: # Recorrido: Hola
10+
print(i)
11+
print(str1.upper()) # Conversión a mayúsculas: HOLA
12+
print(str1.lower()) # Conversión a minúsculas: hola
13+
print('hola mundo'.capitalize()) # Capitalización: Hola mundo
14+
print('hola mundo'.title()) # Capitalización de palabras: Hola Mundo
15+
print('hola Mundo'.swapcase()) # Inversión de capitalización: HOLA mUNDO
16+
print(' hola mundo '.strip()) # Eliminación de espacios en blanco: hola mundo
17+
print(str1.replace('o','a')) # Reemplazo: Hala
18+
print(str1.split('o')) # División: ['H', 'la']
19+
print(''.join([str1,str2])) # Unión: HolaMundo
20+
print(f'{str1} {str2}') # Interpolación: Hola Mundo
21+
print(str1.isalpha()) # Verificación: True. esta función verifica si la cadena contiene solo letras
22+
print(str1.isalnum()) # Verificación: True. esta función verifica si la cadena contiene solo letras y números
23+
print(str1.isdigit()) # Verificación: False. esta función verifica si la cadena contiene solo números
24+
print(str1[0]+str1[1]+str1[2]+str1[3]) # Indexación: Hola
25+
print(str1[::-1]) # Inversión: aloH
26+
print(str1 == str1[::-1]) # Palíndromos: False (Hola != aloH)
27+
print(sorted(str1) == sorted(str2)) # Anagramas: False (Hola != Mundo). anagrama es una palabra o frase que resulta de la transposición de letras de otra palabra o frase
28+
print("a" in str1) #Búsqueda: True. verifica si la letra a está en la cadena
29+
print('Saludo: {}, lenguaje: {}'.format(str1,str2)) #Formateo: Saludo: Hola, lenguaje, Mundo
30+
print(list(str1)) # Transformacion de cadena a lista: ['H', 'o', 'l', 'a']
31+
32+
# EXTRA
33+
'''Crea un programa que analice dos palabras diferentes y realice comprobaciones
34+
* para descubrir si son:
35+
* - Palíndromos: palabras que se leen igual de izquierda a derecha que de derecha a izquierda
36+
* - Anagramas: palabras que tienen las mismas letras pero en diferente orden
37+
* - Isogramas: palabras que no tienen letras repetidas'''
38+
39+
# quiero un programa que haga todas las comprobaciones en la misma funcion
40+
def check(word1:str,word2:str):
41+
print(f'La palabra {word1} es un palíndromo?: {word1==word1[::-1]}')
42+
print(f'La palabra {word2} es un palíndromo?: {word2==word2[::-1]}')
43+
print(f'{word1} es un anagrama de {word2}?: {sorted(word1) == sorted(word2)}')
44+
print(f'{word1} es un isograma?: {len(set(word1)) == len(word1)}')
45+
print(f'{word2} es un isograma?: {len(set(word2)) == len(word2)}')
46+
47+
word1 = "reconocer"
48+
word2 = "carrera"
49+
word3 = "murcielago"
50+
word4 = "anagrama"
51+
word5 = 'amor'
52+
word6 = 'roma'
53+
check(word1,word2)
54+
check(word3,word4)
55+
check(word5,word6)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
'''EJERCICIO:
2+
- Muestra ejemplos de asignación de variables "por valor" y "por referencia", según
3+
su tipo de dato.
4+
- Muestra ejemplos de funciones con variables que se les pasan "por valor" y
5+
"por referencia", y cómo se comportan en cada caso en el momento de ser modificadas.
6+
(Entender estos conceptos es algo esencial en la gran mayoría de lenguajes)
7+
8+
DIFICULTAD EXTRA (opcional):
9+
Crea dos programas que reciban dos parámetros (cada uno) definidos como variables anteriormente.
10+
- Cada programa recibe, en un caso, dos parámetros por valor, y en otro caso, por referencia.
11+
Estos parámetros los intercambia entre ellos en su interior, los retorna, y su retorno
12+
se asigna a dos variables diferentes a las originales. A continuación, imprime el valor de las
13+
variables originales y las nuevas, comprobando que se ha invertido su valor en las segundas.
14+
Comprueba también que se ha conservado el valor original en las primeras.'''
15+
16+
# Asignación de variables por valor
17+
a = 5 # Asignación por valor
18+
b = a # Asignación por valor
19+
a = 10 # Modificación de a
20+
print(a) # a vale 10
21+
print(b) # b sigue valiendo 5
22+
b = 15 # Modificación de b
23+
print(b) # b vale 15
24+
25+
# Asignación de variables por referencia
26+
lista1 = [1, 2, 3] # Asignación por referencia
27+
lista2 = lista1 # Asignación por referencia
28+
lista2.append(4) # Modificación de lista2
29+
print(lista1) # lista1 vale [1, 2, 3, 4]
30+
print(lista2) # lista2 vale [1, 2, 3, 4]
31+
lista1.append(5) # Modificación de lista1
32+
print(lista1) # lista1 vale [1, 2, 3, 4, 5]
33+
print(lista2) # lista2 vale [1, 2, 3, 4, 5]
34+
35+
# Funciones con variables por valor
36+
def int_func(var_int:int):
37+
var_int = 10
38+
return var_int
39+
40+
c = 2
41+
print(int_func(c)) # Imprime 10
42+
print(c) # Imprime 2
43+
44+
# Funciones con variables por referencia
45+
def list_func(var_list:list):
46+
var_list.append(4)
47+
lista = var_list
48+
lista.append(5)
49+
print(var_list) # Imprime [1, 2, 3, 4, 5]
50+
print(lista) # Imprime [1, 2, 3, 4, 5]
51+
52+
var_lista = [1, 2, 3]
53+
list_func(var_lista)
54+
print(var_lista) # Imprime [1, 2, 3, 4, 5]
55+
56+
# EXTRA
57+
'''Crea dos programas que reciban dos parámetros (cada uno) definidos como variables anteriormente.
58+
- Cada programa recibe, en un caso, dos parámetros por valor, y en otro caso, por referencia.
59+
Estos parámetros los intercambia entre ellos en su interior, los retorna, y su retorno
60+
se asigna a dos variables diferentes a las originales. A continuación, imprime el valor de las
61+
variables originales y las nuevas, comprobando que se ha invertido su valor en las segundas.
62+
Comprueba también que se ha conservado el valor original en las primeras.'''
63+
64+
# Por valor
65+
def value(value1:int, value2:int):
66+
temp = value1
67+
value1 = value2
68+
value2 = temp
69+
return value1, value2
70+
71+
value3 = 5
72+
value4 = 10
73+
value5, value6 = value(value3, value4)
74+
75+
print(f'{value3}, {value4}') # Imprime 5, 10
76+
print(f'{value5}, {value6}') # Imprime 10, 5
77+
78+
# Por referencia
79+
def reference(ref1:list, ref2:list):
80+
temp = ref1
81+
ref1 = ref2
82+
ref2 = temp
83+
return ref1, ref2
84+
85+
ref3 = [1, 2, 3]
86+
ref4 = [4, 5, 6]
87+
ref5, ref6 = reference(ref3, ref4)
88+
89+
print(f'{ref3}, {ref4}') # Imprime [1, 2, 3], [4, 5, 6]
90+
print(f'{ref5}, {ref6}') # Imprime [4, 5, 6], [1, 2, 3]

0 commit comments

Comments
 (0)