<jupyter_start><jupyter_text>Introducción al python  Hola mundo<jupyter_code>print("Hello world")
print("Hello","World")#note la falta de espacio
print("Hello"+" World")<jupyter_output>Hello world
Hello World
Hello World<jupyter_text>Condicionales<jupyter_code>#Forma 1
if 1+1==2:
    print("foo")
    print("bar")
    x=42
#Forma 2
if 1+1==2:
    print("foo");print("foo");x=42
#Forma 3
if 1+1==2:print("foo");print("bar");x=42
name = "Daniel" # asignación de un valor a la variable  
if name == "Daniel":
	print ("yeiii Daniel ") 
	print (u'¿Qué tal estás?')
else:
	print (u'¿Quién eres?')
	print (u'¡No eres Daniel!')<jupyter_output>yeiii Daniel 
¿Qué tal estás?<jupyter_text>Tipos de datos numericos<jupyter_code>x=4
print(int(x))
#long(x)#solo en versiones antiguas
#long(x)#solo en versiones antiguas
print(float(x))
c=complex (4, .2) 
print(c)
d=c.real+c.imag<jupyter_output>4
4.0
(4+0.2j)<jupyter_text>Ejercicio:usar el comando dir, para listar que metodos hay disponibles en el tipo de dato complejo ayuda:dir(c), preguntar si no tiene claro al final de la presentación por que unos tienen el doble __ en el nombre por ejemplo usar c.__abs__()<jupyter_code>#dir(c)
#print(c.__abs__())
#print(c.conjugate())<jupyter_output><empty_output><jupyter_text>Tipos de datos cadenas de caracteres<jupyter_code>print("yes" "no")
print('\n')#note el doble enter
print("yes" "no")
print (r"hola mundo\n no  tengo en cuenta el fin de linea\n")# raw string
print("\\[foo\\]")
print(r'\[foo\]')
print(len('Con un palo y 5 ladrillos se pueden hacer mil cosas'))
"Con un palo y 5 ladrillos se pueden hacer mil cosas".upper()
"Con un palo y 5 ladrillos se pueden hacer mil cosas".find("palo")# el índice no inicia en 1 como en Matlab sino en 0 como en C

"Con un palo y 5 ladrillos se pueden hacer mil cosas".find('Palo') 
'Con un palo y 5 ladrillos se pueden hacer mil cosas '.replace('5', 'cinco')#.replace('un','1')
depto = 'Vaupes' 
"La capital de %s es %s" % (depto, "Mitu")<jupyter_output><empty_output><jupyter_text>Tipos de datos Listas<jupyter_code>meses = ["Enero", "Febrero"] 
print(type(meses))
print(meses[0]) 
meses.append("Marzo")
print(meses) 
meses.append("Abril")
print(meses) 
meses.append("Mayo")
print(meses) 
meses.append("Junio")
print (meses[2:4])#probar con (meses[2:-1]) y con (meses[1:len(meses))
print(meses+meses)
meses.append(1)
print(meses)
items = [4, 6]
print(items)
items.insert(0, -1) 
print(items)
items.insert(1, -2) 
print(items)
items.append(555)  
print(items)
item=items.pop()  
print(items)
print(item)<jupyter_output>[-1, -2, 4, 6, 555]
[-1, -2, 4, 6]
555<jupyter_text>Ejercicio: use >>> help(items) y >>> dir(items) para listar la ayuda de el tipo de dato lista, note que items es tipo lista, puede comprobar el tipo de una variable con la función >>> type(items)  Tipos de datos tuplas<jupyter_code>mitupla = ('a', 1, "hola")
print(type(mitupla))
print(mitupla[2])<jupyter_output><class 'tuple'>
hola<jupyter_text>Ejercicio: use >>> help(mitupla) y >>> dir(mitupla) para listar la ayuda de el tipo de dato tupla, note que mitupla es tipo tuple, puede comprobar el tipo de una variable con la función >>> type(mitupla)  Tipos de datos Diccionarios<jupyter_code>mydict = {"altura" : "media", "habilidad" : "intermedia", "salario" : 1000 } 
print (mydict )

#busqueda por keys, las llaves son los indices de los diccionarios
print (mydict["habilidad"] )
#dir (mydict)
if 'altura' in mydict:
    print ('llave encontrada')
    print (mydict["altura"] )<jupyter_output>llave encontrada
media<jupyter_text>Ejercicio. Que pasa si la llave no existe y se intenta indexar?<jupyter_code><jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.14772103239978035, 'fraction_numerical': 0.019769357495881382, 'mean_word_length': 6.005769230769231, 'pattern_counts': {'":': 1, '<': 32, '<?xml version=': 0, '>': 50, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '9', 'dir': 'jupyter-structured-clean-dedup', 'id': '427771', 'license': 'CC0-1.0', 'n_tokens_mistral': 1510, 'n_tokens_neox': 1470, 'n_words': 405, 'path': 'Codigo/Curso_Introduccion_al_python.ipynb', 'repo_name': 'MarduckEncoded/CursoMachineLearning', 'size': '3642'}