<jupyter_start><jupyter_text>Curso de introducción a PythonCurso de introducción a la programación con Python para la comunidad de **Innovacción Virtual**.Código desarrollado y documentado por **<NAME>**, Sherpa Digital de Innovación para Microsoft México y Google Developer Expert en Machine Learning. **Redes:**- GitHub: [RodolfoFerro](https://github.com/RodolfoFerro), ricardomiron- Twitter: [FerroRodolfo](https://twitter.com/FerroRodolfo), @richard016- Instagram: [rodo_ferro](https://instagram.com/rodo_ferro), @ricardomiron  Contenidos1. ¿Qué es programar?2. ¿Qué es y por qué Python?3. I/O - ¡Hola mundo!4. Variables, tipos de datos y conversión5. Operaciones básicas6. Condicionales (pt. I)  ¿Qué es programar?**Programar** es darle instrucciones a la máquina para que realice una acción. Esto lo hacemos a través de un lenguaje que una computadora sea capaz de entender.Los lenguajes en los que podemos darle instrucciones a la máquia se llaman **lenguajes de programación**, que cuentan con una sintaxis completa para poder especificar dichas instrucciones.Las instrucciones completas podemos plantearlas en una secuencia de pasos, a lo que llamamos **algoritmo**.Pensemos en algunos ejemplos...  ¿Qué es y por qué Python?    Python es un lenguaje de programación interpretado, de tipado dinámico multiusos que es muy simple y elegante, pero poderoso.Es por ello que se utiliza en grandes compañías como Microsoft, Google y Dropbox, y en instituciones académicas donde lo utilizan para enseñar cursos que van desde introducción a la programación hasta inteligencia artificial.  **Algunas plataformas como Eventbrite, Pinterest e Instagram utilizan Python.**  I/O - ¡Hola mundo!`input()` y `print()` son las funciones de entrada y salida (respectivamente) de información en Python. `input()` tiene como argumento una cadena de texto que da las instrucciones que se deseas desplegar y lo que retorna (la respuesta) siempre es una cadena de texto; mientras que `print()` tiene como argumentos cadenas de texto o variables que se desean desplegar. Ejemplo:```pythonnombre = input("Introduce tu nombre: ")print(f"Mucho gusto, {nombre}")```<jupyter_code>print("¡Hola viajeras y viajeros!")
print("Arrancamos con el curso.")

print("Otra línea. 🎲")
input("Dime tu edad: ")<jupyter_output><empty_output><jupyter_text>Variables, tipos de datos y conversiónPodemos pensar que una variable es como un contenedor de información. Python puede albergar distintos tipos de datos, como valores numéricos, booleanos y cadenas de texto. Al ser Python de tipado dinámico, no hace falta declarar el tipo de variable, sino que sólo basta con definir sus valores. Ejemplo:```pythonname = "Rodolfo"age = 27pi = 3.1416age = float(age)print(name, age)print(type(name), type(age))```<jupyter_code>bote_de_yogurt = "Frijoles"
print(bote_de_yogurt)
edad = 27
pi = 3.14159265358979

print("Edad:")
print(edad)
print("Aproximación de Pi:")
print(pi)
print(type(edad)) # Integer - Número entero
print(type(pi)) # Float - Número decimal
print(type(bote_de_yogurt)) # String - Cadena de texto

# Esto no se ejecuta
# Esto es un comentario<jupyter_output><empty_output><jupyter_text>Operaciones básicasEn esencia hay tres tipos de operaciones:- **Operaciones aritméticas.** Operan a nivel matemático-aritmético sobre los valores de las variables (`+`, `-`, `*`, `/`, `//`, `%`, `**`).- **Operaciones de comparación.** Operan a nivel matemático-de-comaración sobre los valores de las variables (``, `=`, `==`, `!=`).- **Operaciones lógicas.** Operan a nivel matemático-lógico sobre los valores de las variables (`and`, `or`, `not`).<jupyter_code>print(edad)
print(edad + 50)
print(edad - 4)
print(edad * 2)
print(edad / 2)
print(edad / 2)
print(edad // 2)
print(edad % 2)

#   __13__
# 2 | 27
#     07
#      1


print(3 ** 3) # 3 * 3 * 3
print(5 ** 2) # 5 * 5

# Leyes de los exponentes
#  __
# √ 5 = (5)^(1/2)
# 3^√5 = (5)^(1/3)
# 

print(5 ** 0.5)
print(81 ** 0.5)<jupyter_output><empty_output><jupyter_text>Condicionales (pt. I)Los condicionales los utilizaremos para validar si se cumple una o más condiciones para ejecutar cierto bloque de código, en esencia nos ayuda a tomar decisiones sobre el flujo de nuestro código. Sintaxis: ```pythonif condition:     Block of codeelif other_condition:	 Another block of codeelse:	 Final block of code```<jupyter_code>print(edad)
edad = -3<jupyter_output><empty_output><jupyter_text>-------------------<jupyter_code>edad = input("Introduce tu edad: ")
edad = int(edad)  # Casting

if edad >= 18 and edad <= 100:
    print("Eres mayor de edad.")
elif edad > 100:
    print("Ya te petateaste.")
elif edad < 0:
    print("Tu edad no tiene sentido.")
else:
    print("Eres menor de edad.")<jupyter_output><empty_output><jupyter_text>-------------------<jupyter_code>richard = 27
rodo = 17
rafa = 22

edad_total = richard + rodo + rafa
print(edad_total)
print(richard)
print(rodo)
print(rafa)
if richard >= 18 and rodo >= 18 and rafa >= 18:
    print("Todos son mayores.")
else:
    print("Alguien es menor. ✖️")
animal = "caballo"
color = "blanco"


if animal == "caballo":
    if color == "negro":
        print("Ah, es el caballo de Juan.")
    else:
        print("No sé de quién sea.")
else:
    print("No sé qué animal es.")

z = 2 + 3j

print(z.__dir__())

print(z.real, z.imag)
print(z.conjugate()) 
if color == "negro":
    print("Ah, es el caballo de Juan.")
else:
    print("No sé de quién sea.")
color = "negro"
"Ah, es el caballo de Juan." if color == "negro" else "No sé de quién sea."<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.12222823147647377, 'fraction_numerical': 0.017667207499549305, 'mean_word_length': 4.684426229508197, 'pattern_counts': {'":': 3, '<': 28, '<?xml version=': 0, '>': 31, 'https://': 3, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '6', 'dir': 'jupyter-structured-clean-dedup', 'id': '358976', 'license': 'MIT', 'n_tokens_mistral': 2049, 'n_tokens_neox': 1951, 'n_words': 653, 'path': 'sesiones/sesion-01.ipynb', 'repo_name': 'AlexanderOaks/python-innovaccion', 'size': '5554'}