<jupyter_start><jupyter_text>El Jupyter NotebookEl documento que estamos usando es un .ipynb, o Jupyter Notebook.El documento está en modo lectura. Podés hacer una copia y guardarla en tu propio Drive, y así editar el código.Al apretar el botón de "play" que aparece al posarse en una celda de código, podés ejecutar esa celda, y el output aparecerá abajo.Por ejemplo, podemos ver el output de imprimir la frase "hola, mundo!":<jupyter_code>print('Hola, mundo!')<jupyter_output>Hola, mundo!<jupyter_text>Tipos de datos<jupyter_code>mi_nombre = 'Laura'
mi_edad = 27
mi_altura_en_mts = 1.64<jupyter_output><empty_output><jupyter_text>**Notas:**- mi_nombre, mi_edad y mi_altura_en_mts son variables- Podemos conocer el tipo de dato que guarda cada variable usando la función type()<jupyter_code>print(type(mi_nombre))
print(type(mi_edad))
print(type(mi_altura_en_mts))<jupyter_output><class 'str'>
<class 'int'>
<class 'float'><jupyter_text>Vemos que:- 'Laura' es una _string_- 27 es un _integer_- 1.64 es un _float_Los integers y floats son tipos numéricos, enteros y racionales respectivamente, mientras que los strings se usan para texto. Operaciones numéricasPodemos hacer operaciones matemáticas con integers y floats<jupyter_code>a = 3
b = 2

sum = a + b

sub = a - b

mult = a * b

div = a / b

mod = a % b

exp = a ** b

# Imprimí las variables sum, sub, mult, div, mod y exp para ver el resultado
print(sum)
print(exp)

# Imprimí el tipo de la variable sum

print(type(sum))

# Podemos volver a declarar una variable asignándole otro valor:

b = 2.0

sum = a + b

# Volvé a imprimir el tipo de sum y observá qué pasa luego de haber cambiado el tipo de la variable b

print(type(sum))<jupyter_output>5
9
<class 'int'>
<class 'float'><jupyter_text>Las líneas de texto antecedidas por el símbolo  se llaman comentarios, Python las "saltea" y no las ejecuta.Vimos cómo sumar, restar, multiplicar, dividir y encontrar el resto usando módulo.Falta la raíz!Para hallar la raíz de un número, tenemos que usar una función de la librería math<jupyter_code>from math import sqrt

square_root = sqrt(27)

print(square_root)<jupyter_output>5.196152422706632<jupyter_text>BooleanosHay otro tipo de dato, además de strings, integers y floats, que se llama booleano. Puede tomar solo dos valores: True o False, y sirve para hacer compuertas lógicas.<jupyter_code>x = True
y = False

print(type(x))
print(type(y))<jupyter_output><class 'bool'>
<class 'bool'><jupyter_text>Si hacemos una comparación entre valores, Python nos devolverá un booleano indicando si la comparación es verdadera o falsa.El doble signo de igualdad (==) nos permite comparar si dos valores son iguales<jupyter_code>bool_1 = 4 == 5 # De esta manera chequeamos si 4 es igual a 5

bool_2 = 'vaca' == 'vaca'

bool_3 = 'camello' == 'Camello'

bool_4 = 1 + 1 == 3

print(bool_1)
print(bool_2)
print(bool_3)
print(bool_4)<jupyter_output>False
True
False
False<jupyter_text>La lista completa de operadores es:- Mayor `a > b`- mayor o igual `a >= b` - menor `a < b`- menor o igual `a <= b` - igual `a == b`- diferente `a != b`  Y esto para qué sirve?<jupyter_code># Esta parte por ahora no es importante entender cómo funciona
# Estamos importando funciones de librerías de Python que nos sirven para saber 
# en qué fecha y día de la semana estamos
from datetime import date
import calendar
my_date = date.today()
day = calendar.day_name[my_date.weekday()] 

# Observen los chequeos de igualdad que se hacen en las siguientes líneas

if day == 'Friday':
  print('Thank god it\'s Friday!') 
elif day == 'Saturday' or day == 'Sunday': 
  print('Weekend! Yay!') 
else: 
  print('Just a regular day')
# Veamos cómo funciona. Estamos chequeando cuál de estas condiciones es True

if day == 'Friday': # Si esta igualdad es True...
  print('Thank god it\'s Friday!') # vamos a imprimir esto
elif day == 'Saturday' or day == 'Sunday': # Solo si lo anterior no es True, nos fijamos si esto es True...
  print('Weekend! Yay!') # y si lo es, imprimimos esto
elif day == 'Monday':
  print('Oh no!')
else: # Si ninguna de las cosas anteriores es True...
  print('Just a regular day') # Imprimimos esto<jupyter_output>Thank god it's Friday!<jupyter_text>Condicionales: if, elif, elseComo vimos en la celda anterior, los condicionales `if`, `elif` y `else` nos permiten ejecutar diferentes líneas de código dependiendo de si una condición previa es cierta (`True`) o no (`False`).Esta es la utilidad de los booleanos!`if`, `elif` y `else`, siempre se dan en este orden.Solamente se ejecuta uno de ellos, el primero que sea True. Si uno resulta True, Python lo ejecuta y no evalúa las siguientes condiciones.Empieza por el `if`, y luego los `elif` (que significa "else if") en orden descendente. Si ninguno de ellos es verdadero, el `else` por defecto lo será.<jupyter_code># Podemos tener solamente un if 

power_level = 9001

if power_level > 9000:
  print('His power level is over nine thousand!')

# Si la condición del if es False, no se va a ejecutar nada.

# Podemos tener if y elif (tantos elif como queramos) sin else
# y de nuevo, si todos son falsos no se va a ejecutar nada

edad = 5

if edad > 18:
  print('Adulto/a')
elif edad > 65:
  print('Anciano/a')

# Podemos combinar diferentes condiciones

if day == 'Saturday' or day == 'Sunday': 
  print('Weekend! Yay!')<jupyter_output>His power level is over nine thousand!
Never gonna give you up, never gonna let you down<jupyter_text>Recordar:And- True and True = True- True and False = False- False and False = FalseOr- True or True = True- True or False = True- False or False = FalseNot- not True = False- not False = True<jupyter_code># Pensá si la siguiente variable va a ser True o False, y printeala para ver el resultado:

logic = True and not False or False

# Observá cómo el siguiente código utiliza los operadores booleanos (and, or) 
# y los condicionales (if, elif, else)

first = input('Ingrese el primer número: ')
second = input('Ingrese el segundo número": ')
third = input('Ingrese el tercer número: ')

all = first == second and second == third and third == first
any = first == second or second == third or third == first

if all == True:
  print("Todos los números son iguales")
elif any == True:
  print("Hay un par de números iguales")
else:
  print("Todos los números son diferentes")<jupyter_output>Ingrese el primer número: 1
Ingrese el segundo número": 1
Ingrese el tercer número: 1
Todos los números son iguales<jupyter_text>Ejercicios  Vaca, vaquillonaDe acuerdo a [esta tabla](https://drive.google.com/file/d/16GaRc8dFnd6mx29Q57dEXZm4V9UQBya4/view?usp=sharing), escribí un programa que reciba los siguientes datos del animal:- cantidad de dientes- sexoe indique si se trata de un/a:- novillito,- novillo,- toro,- vaquillona o- vaca<jupyter_code><jupyter_output><empty_output><jupyter_text>Puntajes IEEExtremeLa competencia IEEExtreme puntúa las respuestas a los ejercicios de la siguiente manera:> 30 points are awarded for correct answers. 70 extra points can be awarded depending on problem “difficulty”. The difficulty of any problem comes from the average points teams scored on it; should many teams solve the same problem, that problem is deemed to be very easy and no additional points will be awarded for that problem. However, if few teams solve a problem the problem will be deemed hard and will be credited with additional points. This scoring schematic makes the competition and your placement within the ranking very dynamic.  Sharing a solution with other teams is strictly prohibited and may result in disqualification.Es decir, si una respuesta es correcta, obtiene 30 puntos, y de 0 a 70 puntos extra dependiendo de cuántos equipos respondieron correctamente.Para este ejercicio, supongamos lo siguiente:- Hay 100 equipos compitiendo.- Si 70 a 100 equipos respondieron correctamente la pregunta, no se dan puntos adicionales.- Si el ejercicio fue respondido correctamente por 1 a 70 grupos, se otorgan puntos extra. Si 1 solo equipo respondió correctamente se dan 70 puntos, y por cada equipo extra que respondió correctamente, se otorga un punto menos. Ej: si 2 equipos respondieron bien, 69 puntos, 3 equipos, 68 puntos. [Esta tabla](https://docs.google.com/spreadsheets/d/11C63rTyPuMjgkK1KXX60UguubqDSgpgy_PMuTWnyNFo/editgid=0) muestra la distribución de puntos extra.Escribir un programa que otorgue 0 puntos si la respuesta es incorrecta, y la cantidad correspondiente de puntos si la respuesta es correcta.**Nota:** las puntuaciones de IEEExtreme no funcionan exactamente como el programa que vamos a escribir, desconocemos la función que vincula la cantidad de respuestas correctas con el puntaje extra<jupyter_code><jupyter_output><empty_output><jupyter_text>Año bisiestoDado un determinado año, el código debe devolver si es bisiesto.En el calendario gregoriano, los años bisiestos ocurren:```en años que son divisible por cuatro  salvo si el año es divisible por 100    salvo si el año es divisible por 400```Por ejemplo, 1997 no es bisiesto, pero 1996 sí. 1900 no es bisiesto, pero 2000 sí.<jupyter_code># Escribí tu código<jupyter_output><empty_output><jupyter_text>FizzBuzzEscribí un programa que imprima los números del 1 al 100, **pero**: - para los múltiplos de 3, imprima la palabra "Fizz" en vez del número.- Para los múltiplos de 5, imprima "Buzz" en vez del número.- Para los múltiplos tanto de 3 como de 5, imprima "FizzBuzz" en vez del número.Para completar este ejercicio, es útil conocer las funciones [range()](https://www.w3schools.com/python/ref_func_range.asp) y [for](https://www.w3schools.com/python/python_for_loops.asp).[texto del vínculo](https://)<jupyter_code># Escribí tu código<jupyter_output><empty_output><jupyter_text>Juego adivina el númeroEl programa genera un número al azar entre 0 y 100, y lo guarda en la variable num. La persona que juega debe adivinar el número ingresando inputs.- Si el número ingresado es mayor que num, el programa printea "El número que buscás es más chico!"- Si el número ingresado es menor a num, el programa printea: "El número que buscás es más grande!"- Si el número ingresado es igual a num, el programa printea: "Adivinaste!"El jugador tiene 6 turnos para adivinar.<jupyter_code>from random import randint

guesses_taken = 0

num = randint(0, 101)

while #COMPLETAR :
  guess = int(input())
  guesses_taken += 1

  # Escribí tu código acá<jupyter_output>0
{'fraction_non_alphanumeric': 0.07928709055876686, 'fraction_numerical': 0.015221579961464355, 'mean_word_length': 4.915099715099715, 'pattern_counts': {'":': 3, '<': 60, '<?xml version=': 0, '>': 64, 'https://': 5, 'lorem ipsum': 0, 'www.': 2, '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': '15', 'dir': 'jupyter-structured-clean-dedup', 'id': '118644', 'license': 'MIT', 'n_tokens_mistral': 3672, 'n_tokens_neox': 3510, 'n_words': 1422, 'path': 'clase01/Clase_1.ipynb', 'repo_name': 'lambdaclass/ieeextreme', 'size': '10380'}