Elementos b谩sicos de Python

5/31
Recursos
Transcripci贸n

Aportes 570

Preguntas 55

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

  • 驴Qu茅 es un lenguaje de programaci贸n?
    Es un lenguaje formal que, mediante una serie de instrucciones, le permite a un programador escribir un conjunto de 贸rdenes, acciones consecutivas, datos y algoritmos para, de esa forma, crear programas que controlen el comportamiento f铆sico y l贸gico de una m谩quina.

  • 驴Qu茅 tipos de lenguaje de programaci贸n existen?
    El lenguaje de programaci贸n es la base para construir todas las aplicaciones digitales que se utilizan en el d铆a a d铆a y se clasifican en dos tipos principales: lenguaje de bajo nivel y de alto nivel.

  1. Lenguaje de programaci贸n de bajo nivel
    Son lenguajes totalmente orientados a la m谩quina.
    Este lenguaje sirve de interfaz y crea un v铆nculo inseparable entre el hardware y el software.

  2. Lenguaje de programaci贸n de alto nivel
    Tienen como objetivo facilitar el trabajo del programador, ya que utilizan unas instrucciones m谩s f谩ciles de entender.

  3. Lenguaje espec铆fico de dominio
    En desarrollo de software e ingenier铆a de dominio, un lenguaje espec铆fico de dominio, o 鈥渓enguaje espec铆fico del dominio鈥, (en ingl茅s domain-specific language, DSL) es un lenguaje de programaci贸n o especificaci贸n dedicado a resolver un problema en particular, representar un problema espec铆fico y proveer una t茅cnica para solucionar una situaci贸n particular. El concepto no es nuevo pero se ha vuelto m谩s popular debido al aumento del uso de modelaje espec铆fico del dominio.1鈥

  4. Lenguaje de prop贸sito general
    Se llama lenguaje de prop贸sito general al lenguaje de programaci贸n cuyos procedimientos, instrucciones y estructuras de datos est谩n dise帽ados para resolver todo tipo de problemas.

  5. Lenguaje de interpretados y compilados
    La principal diferencia entre un lenguaje compilado y uno interpretado es que el lenguaje compilado requiere un paso adicional antes de ser ejecutado, la compilaci贸n, que convierte el c贸digo que escribes a lenguaje de m谩quina. Un lenguaje interpretado, por otro lado, es convertido a lenguaje de m谩quina a medida que es ejecutado.

Ejemplos de lenguajes compilados incluyen C, C++, Java, Go y Rust, entre muchos otros. Ejemplos de lenguajes interpretados incluyen Ruby, Python y JavaScript, entre muchos otros. A todos estos lenguajes se les conoce como lenguajes de alto nivel.

1 + 1 # 1
'Platzi' / 5 # Error
'Platzi' * 3 #PlatziPlatziPlatzi
#PrintStatement
print('Hola mundo')
'Mr' + '. Internatuta'
2 + 2

驴Que es un objeto?
Concepto, abstracci贸n o cosa con l铆mites bien definidos y con significado para el problema que se est谩 manejando

  • Escalares vs No escalares
    -Tipos
    int.
    float.
    bool.
    str.
#Definiendo variables
my_int  = 1
my_float = 1.0
my_bool = True
my_none = None
my_str = 'Hola'

#Imprimiendo el tipo
type(my_int)
type(my_float)
type(my_bool)
type(my_none)
type(my_str)

驴Que pasa si ejecutas esto?


1 + 1 
2 - 5
2.0 * 3
6 // 2
6 // 4
6 / 4
7 % 2
2 ** 2

Resultado

>>> 1 + 1
2
>>> 2 - 5
-3
>>> 2.0 * 3
6.0
>>> 6 // 2
3
>>> 6 // 4
1
>>> 6 / 4
1.5
>>> 7 % 2
1
>>> 2 ** 2```

Como curiosidad:

驴Qu茅 sucede cuando sumamos True + True o True + False?

>>> True + True
2
>>> True + False
1```

Esto sucede porque internamente los booleanos True y False tienen asignados valores de 1 y 0 respectivamente.

Bonus: Los booleanos se llaman as铆 en honor a [George Boole](https://es.wikipedia.org/wiki/George_Boole).

Les dejo mis apuntes en https://github.com/karlbehrensg/introduccion-pensamiento-computacional

Elementos b谩sicos de Python

En esta secci贸n veremos los elementos b谩sicos de Python, sin embargo estaremos aprendiendo sobre los elementos b谩sicos de cualquier lenguaje de programaci贸n.

En los lenguajes tenemos definiciones como:

  • Bajo nivel vs alto nivel:
    Bajo nivel significa que esta dise帽ado para las m谩quinas. Alto nivel por su parte es orientado a los humanos.

  • General vs dominio espec铆fico: Los lenguajes generales tienen todos los primitivos de Turing para poder implementar y computar cualquier tipo de algoritmo. Por otro lado los de dominio espec铆fico son lenguajes especializados a tareas muy espec铆ficas.

  • Interpretado vs compilado: En los lenguajes interpretados mientras corre el programa se traduce la instrucci贸n a lenguaje m谩quina que para ejecutar, en cambio para los lenguajes compilados estos toman todas las instrucciones y las traduce antes a lenguaje m谩quina.

Python es un lenguaje de alto nivel, general e interpretado.

Los elementos b谩sicos son:

  • Literales: son formas simples de inicializar objetos directamente en memoria.

    literales = 1, 'abc', 2.0, True
    
  • Operadores: son los operadores algebraicos.

    operadores = + / % ** = ==
    

Podemos interpolar literales y operadores en nuestros algoritmos. Si el significado dentro de nuestra instrucci贸n no tiene sentido para el lenguaje nos devolver谩 el tipo de error que tengamos. Para iniciar en consola 茅l interprete lo haremos escribiendo.

python3

Con esto dentro de la consola podremos escribir c贸digo de Python.

>>> 1 + 2
3

>>> 1 3.0 # error sint谩ctico
  File "<stdin>", line 1
    1 3.0
      ^
SyntaxError: invalid syntax

>>> 5 / 'Texto' # error sem谩ntico est谩tico
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for /: 'int' and 'str'

>>> 5 * 'Texto'
'TextoTextoTextoTextoTexto'

>>> print('Hello, world!') # statement o enunciado
Hello, world!

Objetos, expresiones y tipos num茅ricos

Vamos hablar de objetos, expresiones y tipos num茅ricos.

  • Objetos: son la abstracci贸n m谩s alta de cualquier lenguaje de programaci贸n, son la forma en que modelamos el mundo dentro de nuestros programas. Los objetos se encuentran en memoria y podemos referenciarlas con alg煤n tipo de variable.

  • Tipos: los objetos pueden ser enteros, flotantes, booleanos e incluso pueden ser objetos m谩s complejos como el modelo de un humano con todos sus caracter铆sticas y atributos.

  • Escalares vs no escalares: los escalares son datos que podemos subdividir en piezas fundamentales, estos pueden ser enteros, flotantes, etc. Los no escalares son los datos que no podemos subdividir.

>>> <objeto> <operador> <objeto>  # Esta es una expresi贸n
<valor>

>>> 'Estoy' + 'Programando!'      # Con esta expresi贸n
'EstoyProgramando!'               # Obtenemos este valor

>>> 2 + 2                         # Con esta expresi贸n
4                                 # Obtenemos este valor

En Python podemos ver los tipos de datos que contienen nuestros objetos (variables), para esto usamos la funci贸n Type.

>>> my_int = 1
>>> my_float = 1.0
>>> my_bool = False
>>> my_none = None

# Imprimiremos los tipos de nuestras variables.

>>> type(my_int)
<class 'int'> 

>>> type(my_float)
<class 'float'>

>>> type(my_bool)
<class 'bool'>

>>> type(my_none)
<class 'NoneType'>

Inicio de la consola desde el sistema:
Inicio + R >> "cmd"
Luego en la consola se puede escribir 鈥淧ython3.x鈥. Pero en mi caso funciona si escribo s贸lo Python.
Otra forma de abrir la consola es abrir el men煤 Inicio y escribir 鈥淧ython鈥 y aparecer谩n dos opsciones: El IDLE y Python 3.x. Ah铆 se ejecuta pr谩cticamente lo mismo que lo anterior.

El 谩lgebra modular, aritm茅tica modular o matem谩tica modular es un sistema aritm茅tico para calcular los residuos resultantes entre la divisi贸n de dos n煤meros enteros d贸nde la relaci贸n o el m贸dulo determina una secuencia de reloj.

  • A mod B = (A + K * B) mod B para cualquier entero K

  • 3 mod 10 = 3
    La relaci贸n de reloj la encontramos cu谩ndo dividimos una secuencia de enteros entre otro entero y verificamos el residuo entero

Referencias:
Wikipedia
Khan Academy

Los lenguajes de Programaci贸n se puede clasificar en:
*Bajo nivel: Dise帽ado para las m谩quinas
*Alto nivel: Dise帽ado para los humanos

*General: tienen los primitivos de Turing para poder implementar y computar cualquier tipo de algoritmo.
*Dominio especifico: Son lenguajes especializados que est谩n tarjeteados a aplicaciones muy espec铆ficas.

*Interpretado: Mientras corre el programa, despu茅s de cada instrucci贸n esta se traduce al lenguaje m谩quina y ella lo lee.
*Compilado: El humano convierte el lenguaje antes de entreg谩rselo a la computadora en un lenguaje m谩quina.

Python es de alto nivel, general e interpretado.

Elementos B谩sicos
*Literales.- formas de inicializar objetos directamente en memoria de manera en que se anotan en c贸digo. Ejemplos: 1, 鈥渁bc鈥, 2.0, True.
*Operadores.- se utilizan con los literales. +, /, %, **, = , ==.

La manera en la cual se interpolan los s铆mbolos en Python es: <literal> <operador> <literal>

*Objetos: Es la abstracci贸n m谩s alta dentro de cualquier lenguaje de programaci贸n, son la forma en que modelamos nuestros programas. Son valores en memoria que podemos referenciar con alg煤n tipo de variable.
Los objetos tienen diferentes tipos como pueden ser: Enteros, flotantes, buleanos, vectores. Los cuales se pueden clasificar en:
*Escalares: Se pueden subdividir.
*No escalares: No se pueden subdividir.

Por si alguien tiene curiosidad de saber cu谩les son todos los tipos de datos que hay en python

type(True)
class 'bool'

 type(2)
class 'int'

 type(2.)
class 'float'

 type([])
class 'list'

 type(())
class 'tuple'

 type("")
class 'str'

 type({},)
class 'dict'

 type({'h','i'})
class 'set'

en este video falto hacer los pasos para ingresar a la consola, tuve que buscar video y hacer pruebas para abrir la consola
no esta claro

El operador m贸dulo es utilizado para obtener el residuo en una divisi贸n

11 % 3 = 2

Esto por que el 11 contiene tres veces al 3, en total seria 9, y aun sobran 2 para llegar al 11鈥 ese 2 es el residuo.

Les comparto mis apuntes de esta clase. Apenas estoy empezando a usar este formato y estoy viendo como mejorar mis apuntes y que sean funcionales. Cualquien sugerencia es bien recibida.

Con el operador modulo 鈥%鈥 podemos encontrar el residuo de una divisi贸n:
_5 % 3 = 2 _
muy 煤til para verificar el factor de un n煤mero

RESUMEN: ELEMENTOS B脕SICOS DE PYTHON :


Existen en general lenguajes con las siguientes propiedades:

Alto: Lenguajes optimizados para parecer el lenguaje natural, o lo m谩s cercano al lenguaje humano.
Bajo nivel: Son mas cercanos al lenguaje m谩quina, lenguaje binario.

Generales: Tienen todos los primitivos de Turing para poder implementar y computar cualquier algoritmo.
Especificos: Lenguajes especializados a aplicaciones muy espec铆ficas.

Interpretados: Mientras corre el programa, las instrucciones se traducen al lenguaje m谩quina.
Compilado: Se convierte antes al lenguaje m谩quina y luego se le entrega a la computadora.

Python es de alto nivel, general e interpretado

  • Literales: son simplemente formas de inicializar el objeto directamente en memoria.
  • Operadores: Suma, resta, m贸dulo, exponenciar, igualar.

El patr贸n para interpolar en el lenguaje:

  • (literal - operador- literal ) , (objeto-operador-objeto)

ERRORES :
Es importante entender los errores de todo lenguaje para poder indentificarlos:

  • Errores de sintaxis
  • Errores sem谩nticos sintantacticos
  • Errores de l贸gica

Nota: Algunos operadores funcionan entre diferentes literales.


Statements
Son aquellas expresiones que son altamente funcionales, algunos permiten imprimir nuestros datos en pantalla, contar qu茅 tipo de variables son las cosas.

  • print nos permite imprimir algo en pantalla
  • type nos dice de qu茅 tipo es la variable que usamos.
numero=1
string="Nunca pares de aprender"
diccionario={}
arreglo=[]

print(numero)
print(type(numero))
print(string)
print(type(string))
print(diccionario)
print(type(diccionario))
print(arreglo)
print(type(arreglo))

Operadores

Algunos de los operadores de python, la operaci贸n de m贸dulo sirve para encontrar el residual de una divisi贸n, sirve para saber si una divisi贸n es exacta o no.

suma = 3 + 3
resta = 3-2
producto=3*4
division=3//3
modulo=25%5
print(suma,resta,producto,division,modulo)

Para saber m谩s aqu铆 est谩 la documentaci贸n, donde puede apreciarse la sint谩xis y la funci贸n que resuelve dicha operaci贸n.

OBJETOS, EXPRESIONES Y TIPOS NUMERICOS


Los objetos son la abstracci贸n m谩s alta en cualquier lenguaje de programaci贸n, son la forma en que modelamos el mundo, una cadena de texto, un mouse, una camiseta. Los objetos son valores en memoria que se referencian mediante variables.

Objetos de tipo enteros, flotantes, boleanos, vectores etc. Los tipos podemos dividirlos entre:

  • Escalares: Que pueden subdividirse en piezas fundamentales
  • No escalares: No admiten esta subdivisi贸n

Un expresi贸n de cualquier lenguaje de programaci贸n es (objeto-operador-objeto), objeto=literal.
Las expresiones regresan valores.

En matem谩tica, la aritm茅tica modular es un sistema aritm茅tico para clases de equivalencia de n煤meros enteros llamadas clases de congruencia.

El operador m贸dulo que se representa con % sirve para encontrar el residuo en una divisi贸n. La aritm茅tica modular es un sistema que se construye con relaciones de congruencia entre n煤meros enteros.

Para explicarlo, hay un ejemplo que encontr茅 era con las horas del d铆a. Suponemos que son las 16 horas (4pm) y a partir de aqu铆 queremos sumar 135 horas, sin embargo lo que necesitamos saber es que hora es despu茅s de realizar la suma sin importar el d铆a.

La suma dar铆a 151 horas cierto? pero un d铆a solo tiene 24鈥 Bueno, aqu铆 es donde entrar铆a el m贸dulo; si en la terminal ponemos 151 % 24 el resultado ser铆a = 8, es decir, al pasar 151 horas desde las 4pm la hora del d铆a ser铆a las 8am.

Esto es s贸lo un ejemplo que encontr茅 sobre c贸mo se podr铆a usar pero parece que hay muchas aplicaciones m谩s de las cuales no tengo idea jajaja

脕lgebra modular:En matem谩tica, la aritm茅tica modular es un sistema aritm茅tico para clases de equivalencia de n煤meros enteros llamadas clases de congruencia. La aritm茅tica modular fue introducida en 1801 por Carl Friedrich Gauss en su libro Disquisitiones Arithmeticae.
Wikipedia dixit 馃槢

A mi parecer, 隆este es el verdadero curso de programaci贸n b谩sica! Cuando hacia el curso con Fredy, no sent铆a el por qu茅 de muchas funcionalidades, cosas que se han complementado a lo largo de este curso. ME ENCANTA -

Para limpiar la consola de Python importan la liber铆a system y mandan a llamar la funci贸n system(鈥渃ls鈥) cuando deseen limpiar la consola

from os import system
system("cls")

Existen diferentes lenguajes de programaci贸n, los cuales est谩n clasificados seg煤n su proximidad al hardware o al usuario.

Comparto mis apuntes de esta clase:

>>> type(1)
<class 'int'>

>>> type(1.0)
<class 'float'>

>>> type(False)
<class 'bool'>

>>> type(None)
<class 'NoneType'>

APUNTES

Vamos a ver los elementos b谩sicos de programaci贸n que se pueden pueden traducir a cualquier otro lenguaje de programaci贸n:
El lenguaje se divide en:

  • Bajo nivel: esta dise帽ado para las maquinas, su lenguaje se acerca mas a los n煤meros.

  • Alto nivel: significa que esta dise帽ado para los humanos, se acerca mucho mas al lenguaje en que nos comunicamos.

  • General: tiene todos los primitivos para implementar algoritmos, del cual nos habla turing.

  • Dominio especifico: son para aplicaciones o clientes espec铆ficos.

  • Interpretado: es un lenguaje que funciona de modo que mientras corre el programa cada instrucci贸n se traduce a lenguaje maquina.

  • Compilado: significa que nosotros convertimos el lenguaje para que la maquina lo interprete

  • Python es un lenguaje de alto nivel, es general, y es interpretado.
    Elementos b谩sicos:

  • #< literales> = son formas de inicializar objetos directamente en memoria de manera en que las anotamos directamente en c贸digo ejemplo: enteros(1,2,3鈥), cadenas (abc鈥), flotantes(2.0,鈥), booleanos(true, false), se pueden interpolar con ciertos operadores.

  • #<operadores> = ( sumar(+), dividir(/), multiplicar(*), modulo(%), exponenciar(**), asignar(=), igualdad(==))
    Funciones:

  • print(鈥樷) = imprimir informaci贸n directamente en la consola.
    Objetos, expresiones y tipos num茅ricos:

  • un objeto es la abstracci贸n mas alta dentro de cualquier lenguaje de programaci贸n, son la forma en la que modelamos el mundo de nuestros programas, ejemplo: un entero, una cadena de texto, es un objeto, son la forma en que modelamos el mundo en nuestro lenguaje de programaci贸n, son valores en memoria que podemos referenciar con alg煤n tipo de variable.

  • Los objetos tienen diferentes tipos que se pueden clasificar en escalares (se pueden subdividir en peque帽as piezas. ejemplo = una matriz se puede subdividir en enteros o flotantes.); Y no escalares( no se pueden subdividir. ejemplo = un entero no se puede subdividir)

  • <objeto> <operador> <objeto>#es una expresi贸n que regresa un >>> valor

馃懆鈥嶐煉籗obre 谩lgebra modular no s茅 demasiado pero lo que debes entender sobre esto en cuanto a la programaci贸n es que el operador mod (modulo) representado con el s铆mbolo de % significa el residuo de una divisi贸n, Ejemplo : 8 mod 3 = 2 porque si dividimos el n煤mero 8 entre 3 el resultado nos da 2.6666^ y el residuo es dos, hazlo por tu mismo y ya lo entender谩s. En python se puede hacer as铆.

>>> 8 % 3
2

Buen d铆a aqu铆 una forma de entender de una forma sencilla entre lenguaje de alto nivel y de bajo nivel:
Lenguajes de alto nivel: dise帽ado para ser entendido por los humanos (Python, C, C++), usa t茅rminos entendibles como print, return, if, case, for, while, etc.
Ejemplo:
Para ver en pantalla el mensaje m铆tico 鈥淗ola Mundo!鈥 en Python :
Print(鈥楬ola Mundo!鈥)
Listo
Lenguaje de bajo nivel: Dise帽ado para ser entendido por las maquinas (lenguaje ensamblador y lenguaje maquina)
Ejemplo:
Para ver en pantalla el mensaje m铆tico 鈥淗ola Mundo!鈥 en Python :
.model small
.stack
.data
Msj db 鈥淗ola mundo!鈥, 鈥$鈥
.code
Inicio proc ;Inicia programa
Mov ax,seg msj ;ds=ax=saludo
Mov ah,09 ;llama a imprimir
Lea dx, msj ;mov dx, offset msj
Int 21h ;interrupci贸n DOS
Mov ax 4c00h ;c贸digo de salida
Int 21h ;interrupci贸n DOS
Inicio endp ;termina programa
End inicio

Listo (Bastante complicado 鈽 )

Espero te sirva, saludos.

1+2
3

2-5
-3

2.0 * 3
6.0

6 // 2
3

6 // 4
1

6 / 4
1.5

7%2
1

2**3
8

Yo tambi茅n tuve problemas con la consola. As铆 que tuve que buscar en la web, https://www.cmasdev.net/2019/04/python-instalando-en-visual-studio-code.html , con esto me corre perfectamente. Solo tengo que introducir python en mi terminal.

Ac谩 puede leer m谩s sobre el Algebra o Aritm茅tica Modular

% modulo es el residuo de una division

No vamos a Aprender python sino que se hablar谩 de los elementos b谩sicos de programaci贸n

  • Alto nivel : est谩 dise帽ado para los humanos. *Pyrthon
  • Bajo nivel: Est谩 optimizado para las computadoras, se acerca mas a los 1/0
  • General: Que tiene todos los primitivos que nos otorga Turin para poder implementar algoritmos. *Python
  • Dominio Espec铆fico: Est谩n dirigidos hacia aplicaciones muy espec铆ficas
  • Interpretados: Mientras correo el programa , despu茅s de cada instrucci贸n esta es le铆da por el programa. *Python
  • Compilado: Se convierte a lenguaje maquina antes de correr el programa

En Python se usa la secuencia de Literal, Operador, Literal

>>> 3+2
>>> 5/'python'
>>> 5 * 'Platzi'
>>> print('Hola, Mundo')

Objetos Expresiones y tipos num茅ricos

Objetos: Son la representaci贸n mas alta en programaci贸n, es la forma en la que modelamos el mundo en nuestros programas. Son valores en memoria que podemos referenciarlos con alg煤n tipo de variable.

Tienen tipos, Escalares y no escalares

<objeto> <operador> <objeto> #expresi贸n

Las expresiones nos regresan un valor

type() #Nos regresa el tipo de la variable

Phyton es un lenguaje de alto nivel, general e interpretado.
Trabaja en tiempo real.
ALGEBRA MODULAR: resolver operaciones matematicas mediante congruencias, como las propiedades que ense帽aban en la escuela (asociativa, conmutativa).

El modulo tengo entendido que es el residuo de la division (por si no es exacta, digamos 7 modulo 2 (7/2) = 1 馃槃

Si usas MAC sigue los siguientes pasos para la instalaci贸n de Python:

  1. Abrir el buscador Spotlight con la: Tecla command + Tecla Barra Espaciadora. Te mostrar谩 la siguiente imagen:
  1. Escribir en el buscador: 鈥渢erminal.app鈥 y luego presionar la Tecla Enter, para abrir el terminal:

Te mostrar谩 el terminal:

  1. Copia y pega la siguiente linea en el Terminal, para configurar el Homebrew: (Les dejo el link https://brew.sh/).
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
  1. Copia y pega la siguiente linea en el Terminal, para instalar Python:
brew install python3
  1. Para validar si tu instalaci贸n de Python fue correcta, copia y pega la siguiente linea en el terminal:
python3

Te deber铆a imprimir la siguiente imagen, donde se muestra la versi贸n de Python, en este caso 鈥淧ython 3.7.7鈥:

Espero haber ayudado. Saludos.

El algebra modular se basa en la operaci贸n de m贸dulo o residuo. Si vamos a hacer a%b, entonces la respuesta es el residuo de la divisi贸n entre a/b.
Ejemplos:
8%2=0 -> 0 +24 = 8
9%2=1 -> 1 + 2
4 = 9
15%4=3 -> 3 + 4*3 = 15
El algebra modular nos permite expandir a煤n m谩s la operaci贸n base de modulo, a otros contextos especiales.

print('1+2=',1+2,type (1 + 2))
>> 1+2= 3 <class 'int'>
print('2.0**3=',2.0 ** 3,type (2.0 ** 3))
>> 2.0 ** 3= 8.0 <class 'float'>

en python 3.10.2 en el cmd no me imprime con print(鈥榟ola mundo鈥). Con solo ejecutar print, ya lo hace x)

Estaria genial que pudieran dejar una gu铆a escrita de python, un pdf con la teor铆a como hacen con otros cursos aqui en Platzi

El 谩lgebra modular tiene como base comprobar si dos n煤meros son congruentes. Esto ocurre cuando al dividirlos por un n煤mero cualquiera, ambos pertenecen a la misma clase de equivalencia. Cuando dividimos un n煤mero cualquiera por otro n煤mero cualquiera, podemos obtener n-1 restos diferentes, siendo n igual al divisor. Cada uno de estos posibles restos es una clase de equivalencia. Por lo tanto dos numeros seran congruentes si tienen el mismo resto al dividirlos por un numero x. La notaci贸n algebraica ser铆a la siguiente: a 鈮 b (mod n). Un ejemplo rapido: 36 鈮 12 (mod 6), entonces 36 es congruente con 12 ya que ambos pertenecen a la clase de equivalencia 0, es decir, ambos tienen resto 0 al dividirlos por 6.

Lenguajes de programaci贸n

bajo nivel vs alto nivel

Alto nivel: dise帽ado para los humanos se acerca mas al lenguaje natural a la forma que nos comunicamos nosotros.

Bajo nivel: esta optimizado para que una maquina pueda entenderlo. Se parece mas a los n煤meros 1 y 0.

General vs dominio especifico

General: Significa que tiene todos los primitivos para poder implementar cualquier algoritmo.

Dominio especifico: lenguajes tarjeteados a aplicaciones muy especificas.

Interpretado: mientras corre el programa despu茅s de cada instrucci贸n se traduce a lenguaje maquina.

Compilado: nosotros convertimos antes de entreg谩rselo a la computadora en un lenguaje maquina.

Literales: forma de inicializar objetos en memoria.

Objetos, expresiones y tipos num茅ricos

1-objetos: abstracci贸n mas alta de cualquier lenguaje de programaci贸n
Tienen diferentes tipos: Pueden ser enteros, booleanos, vectores y etc.
2-Tipos: Int, Float, Bool鈥
3- Escalares vs no escalares

En el 9:50, lo que regresa los types, es lo siguiente:

<class 'int'>
<class 'float'>
<class 'bool'>
<class 'NoneType'>

Acuerdense que en clases pasadas dan consolas interactivas en las cuales pueden hacer codigos basicos, lo digo porque no vale la pena usar editor de codigo para aprender a hacer operaciones tan simples. Pueden usar 鈥淐mder鈥, 鈥淯buntu鈥 u otros derivados de Linux etc鈥

El operador modular lo que hace es hallar el residuo de una divisi贸n.
En python es el s铆mbolo %, y en temas generales se puede encontrar como la funci贸n mood.
ejemplo: 27 mood 427 % 4

  1. primero se divide 27/4 y nos queda 6.75
  2. luego se resta el entero del resultado, en este caso es el 6 y nos queda 0.75
  3. por 煤ltimo, se multiplica 0.75 por el numero 4 y nos queda 3
    este 3 es el resultado de 27%4 贸 27 mood 4.
    todo lo anterior el operador % lo hace autom谩ticamente.

El m贸dulo es el residuo de una divisi贸n, recordemos que en colegio nos ense帽aron las partes de una divisi贸n: dividendo, divisor, cociente y residuo. Una divisi贸n es de la forma D/d = C + r, donde:
D = dividendo
d = divisor
C = cociente
r = residuo
Cuando una divisi贸n es exacta, el residuo es 0. El residuo en una divisi贸n siempre es un n煤mero entero.
El operador m贸dulo genera o devuelve el residuo de una divisi贸n, sea 茅sta exacta o no. Esto es igual en todo lenguaje. En sus primeros programas har谩n cosas como condicionales para hacer que si un n煤mero es par ocurra una cosa y si es impar, haga otra, en estos casos se usa el m贸dulo, bien sea que lo uses para definir un par o un impar como punto de decisi贸n.

No me funciono el Visual Code, como hago?

驴Qu茅 es un lenguaje de programaci贸n?
Es un lenguaje formal que, mediante una serie de instrucciones, le permite a un programador escribir un conjunto de 贸rdenes, acciones consecutivas, datos y algoritmos para, de esa forma, crear programas que controlen el comportamiento f铆sico y l贸gico de una m谩quina.

驴Qu茅 tipos de lenguaje de programaci贸n existen?
El lenguaje de programaci贸n es la base para construir todas las aplicaciones digitales que se utilizan en el d铆a a d铆a y se clasifican en dos tipos principales: lenguaje de bajo nivel y de alto nivel.

Lenguaje de programaci贸n de bajo nivel
Son lenguajes totalmente orientados a la m谩quina.
Este lenguaje sirve de interfaz y crea un v铆nculo inseparable entre el hardware y el software.

Lenguaje de programaci贸n de alto nivel
Tienen como objetivo facilitar el trabajo del programador, ya que utilizan unas instrucciones m谩s f谩ciles de entender.

Lenguaje espec铆fico de dominio
En desarrollo de software e ingenier铆a de dominio, un lenguaje espec铆fico de dominio, o 芦lenguaje espec铆fico del dominio禄, es un lenguaje de programaci贸n o especificaci贸n dedicado a resolver un problema en particular, representar un problema espec铆fico y proveer una t茅cnica para solucionar una situaci贸n particular.

Lenguaje de prop贸sito general
Se llama lenguaje de prop贸sito general al lenguaje de programaci贸n cuyos procedimientos, instrucciones y estructuras de datos est谩n dise帽ados para resolver todo tipo de problemas.

Lenguaje de interpretados y compilados
La principal diferencia entre un lenguaje compilado y uno interpretado es que el lenguaje compilado requiere un paso adicional antes de ser ejecutado, la compilaci贸n, que convierte el c贸digo que escribes a lenguaje de m谩quina.

>>> 10/3
3.3333333333333335
>>> 9/3
3.0
>>> 10%3
1
>>> 9%3
0
>>> 10//3
3
>>> 9//3
3
>>>```

, 馃槷

Hola yo empec茅 programando con C. Despu茅s de conocer C he hecho el curso de Python y me ha gustado mucho. Usa pr谩cticamente los mismos elementos que Python pero con una sintaxis mucho m谩s sencilla y amigable.

valor * -1
-1

valor
True

not valor
False

valor
True

valor * 2
2

valor **2
1

valor
True

3.0 * True
3.0

3 * False
0

Otra forma de realizar ra铆ces podr铆a ser, por medio de uso de elevaciones fraccionarias:

4**(1/2)
el resultado es:

2.0
puede funcionar para al cubo, cuarta, quinta, etc.:

8**(1/3)
el resultado es:

2.0

Muy buena clase! B)

excelente repaso

ELEMENTOS BASICOS DE PYTHON:
los lenguajes los 麓podemos dividir entre:
len bajo nivel: esta optimizado para que una maquina lo pueda enternder
leng alto nivel: dese帽ado para que los humanos lo puedan entendr
leng general: aquellos que tienen todos los primitivos que dijo turin que se necisitan para traducir los algoritmo
leng de dominiio especifico:lenguajes espcializados a unas teras
leng interpretados: significa que despues de cada instruccion estas son traducidos al lenguaje de la maquina para que ella lo interprete
leng compilado: es aquel que nosotros convertimos el lenguaje en un sentido que ella puede entender antes de entregarselo

Un lenguaje de programaci贸n es un mecanismo para darle instrucciones a la computadora, instrucciones bien detalladas y especificas para realizar cierta funci贸n, un lenguaje hace de intermediario entre una persona y la maquina.
Existen varios tipos de lenguajes:
Bajo nivel
Alto nivel
Los lenguajes de alto nivel est谩n dise帽ados para mejorar la comprensi贸n de los humanos a la hora de programar, mientras que los de bajo nivel est谩n dise帽ados para tener una comunicaci贸n m谩s directa con la computadora.
A su vez lo podemos dividir como especificos o generales, siendo los generales poder ser utilizado para programar cualquier programa mientras que uno especifico solo est谩 restrigindo a ciertas tareas.
Luego est谩n los lenguajes compilados e interpretados, los compilados se traducen a lenguaje maquina antes de ejecutarse mientras que los interpretados son traducidos a lenguaje maquina mientras se ejecutan.
En los lenguajes tenemos objetos.
Un objeto es una idealizaci贸n y una forma de imitar algo en el mundo real pero para lenguajes de programaci贸n.
Hay objetos primitivos que nos permiten crear valores rapidamente en memoria.
Como:
Int
Float
str
bool
Estos objetos pueden usarse en expresiones para generar procesos mas complejos, como sumar numeros, unir textos etc.

Un lenguaje de programaci贸n es un mecanismo para darle instrucciones a la computadora, instrucciones bien detalladas y especificas para realizar cierta funci贸n, un lenguaje hace de intermediario entre una persona y la maquina.
Existen varios tipos de lenguajes:

  • Bajo nivel

  • Alto nivel

Prueba

>>> 1+2  
3        
>>> 2-5  
-3       
>>> 2.0*3
6.0      
>>> 6//2 
3        
>>> 6//4 
1        
>>> 6/4  
1.5      
>>> 7%2  
1        
>>> 2**3 
8        

Un lenguaje de programaci贸n es un mecanismo para darle instrucciones a la computadora, instrucciones bien detalladas y especificas para realizar cierta funci贸n, un lenguaje hace de intermediario entre una persona y la maquina.

Existen varios tipos de lenguajes:

  • Bajo nivel
  • Alto nivel

Los lenguajes de alto nivel est谩n dise帽ados para mejorar la comprensi贸n de los humanos a la hora de programar, mientras que los de bajo nivel est谩n dise帽ados para tener una comunicaci贸n m谩s directa con la computadora.

A su vez lo podemos dividir como especificos o generales, siendo los generales poder ser utilizado para programar cualquier programa mientras que uno especifico solo est谩 restrigindo a ciertas tareas.

Luego est谩n los lenguajes compilados e interpretados, los compilados se traducen a lenguaje maquina antes de ejecutarse mientras que los interpretados son traducidos a lenguaje maquina mientras se ejecutan.

En los lenguajes tenemos objetos.

Un objeto es una idealizaci贸n y una forma de imitar algo en el mundo real pero para lenguajes de programaci贸n.

Hay objetos primitivos que nos permiten crear valores rapidamente en memoria.

Como:

  • Int
  • Float
  • str
  • bool

Estos objetos pueden usarse en expresiones para generar procesos mas complejos, como sumar numeros, unir textos etc.

Python es un lenguaje de alto nivel, de prop贸sito general e interpretado

% es el operador que actua sobre enteros y regresa el reciduo de la division entre ambos.

El modulo % nos sirve para saber el residuo de una divisi贸n, por ejemplo:

12%5 = 2

La operaci贸n es esto:
5x1 = 5 鉁 est谩 dentro de 12
5x2 = 10 鉁 est谩 dentro de 12
5x3 = 15 鉂 no est谩 en 12.
Luego resta 12 -10 = 2

As铆 logr茅 entenderlo yo

7%2
1

2**3
8

1+2
3

2-5
-3

2.0*3
6.0

6/4
1.5

6//2
3

  • Lenguaje de Alto Nivel: Est谩 dise帽ado para los humanos. Se acerca mas al lenguaje que nosotros hablamos.

  • Lenguaje de Bajo Nivel: Est谩 mas optimizado para que la m谩quina pueda entenderlo. Se acerca mas a los 1 y 0.

ALTO NIVEL - Cercano al lenguaje natural BAJO NIVEL - Cercano al lenguaje m谩quina GENERAL DOMINIO ESPEC脥FICO INTERPRETADO - Se traduce al ser entregado a la m谩quina COMPILADO -Se traduce antes de ser entregado a la m谩quina.

Incre铆ble

print(鈥淗ola mundo鈥)

type(my_int)
<class 鈥榠nt鈥>

type(my_float)
<class 鈥榝loat鈥>

type(my_bool)
<class 鈥榖ool鈥>

type(My_none)
<class 鈥楴oneType鈥>

>>> 1 + 2
3
>>> print('Hola, mundo!')
Hola, mundo!
>>> isInt = 7
>>> isFloat = 1.7
>>> isBool = true
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'true' is not defined
>>> isBool = True
>>> isNome = none
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'none' is not defined
>>> isNome = None
>>> isNone = None
>>> type(isInt)
<class 'int'>
>>> type(isFloat)
<class 'float'>
>>> type(isBool)
<class 'bool'>
>>> type(isNone)
<class 'NoneType'>
>>> 5 + 7
12
>>> 3 - 5
-2
>>> 3.0 * 4
12.0
>>> 3.567 * 2.4
8.5608
>>> 8 // 4
2
>>> 9 / 3
3.0
>>> 8 / 4
2.0
>>> 7 % 3
1
>>> 3 ** 2
9

Entiendo por 鈥渆lementos b谩sicos de python鈥 como a los 鈥渆lementos b谩sicos鈥 de cualquier lenguaje de programaci贸n para escribir un algoritmo que entienda una computadora. Podr铆a ser as铆?

Es importante usar la version 3.8 de python para seguir paso a paso los ejemplos del curos porque existe diferencia con la version 2.7. por ejemplo en la version 2.7 es indiferente usar la expresion 6 // 4 o 6 / 4 en ambos casos nos regresara un valor entero, en esta version de la 2.7 para pedirle un valor flotante al interprete debemos escribirlo de la siguiente forma float(6) / 4. pero en la version 3.8 si existe diferencia entre ambas expresiones ya que 6 // 4 nos regresara un resultado entero y la expresion 6 / 4 nos regresara un numero flotante.

馃槷

my_int = 1
my_float = 1.0
my_bool = False
my_none = None

type(my_int)
<class 鈥榠nt鈥>

type(my_float)
<class 鈥榝loat鈥>

type(my_bool)
<class 鈥榖ool鈥>

type(my_none)
<class 鈥楴oneType鈥>

>>> my_int = 1
>>> my_float = 1.0
>>> my_bool = False
>>> my_none = None
>>>
>>> type(my_int)
<class 'int'>
>>> type(my_float)
<class 'float'>
>>> type(my_bool)
<class 'bool'>
>>> type(my_none)
<class 'NoneType'>

Lo importante es que nosotros sigamos con la sintaxis.

EXCELENTE PROFE
Print(鈥楬ola Mundo鈥)

my_int = 1

my_float= 1.0

my_bool= False

my_nione= None

type(my_int)
<class 鈥榠nt鈥>

type(my_float)
<class 鈥榝loat鈥>

type(my_bool)
<class 鈥榖ool鈥>

type(my_nione)
<class 鈥楴oneType鈥>

El operador m贸dulo tiene como funci贸n realizar la divisi贸n entre los dos literales, pero en lugar de entregarte el resultado, entrega el resto de la divisi贸n

print(鈥欌︹) Muestra texto o variables

>>> my_int = 1
>>> my_float = 1.0
>>> my_bool = False
>>> my_none = None
>>>
>>> type(my_int)
<class 'int'>
>>> type(my_float)
<class 'float'>
>>> type(my_bool)
<class 'bool'>
>>> type(my_none)
<class 'NoneType'>
>>>
>>> 1 + 2
3
>>> 2 - 5
-3
>>> 2.0 * 3
6.0
>>> 6 // 2
3
>>> 6 // 4
1
>>> 6 / 4
1.5
>>> 7 % 2
1
>>> 2 ** 3
8```

El operador // es una divisi贸n entre dos n煤meros, pero devuelve solo el entero, pero sin redondear. O mas bien retira todos los decimales al flotante resultante de la divisi贸n.
En cambio el operador % es el modulo o residuo de la divisi贸n entre dos n煤meros.

>>> my_int = 1
>>> my_double = 1.5
>>> my_string = 'hola'
>>> my_bool = False
>>> my_none = None
>>>
>>> type(my_int)
<class 'int'>
>>> type(my_double
... )
<class 'float'>
>>> type(my_string)
<class 'str'>
>>> type(my_bool)
<class 'bool'>
>>> type(my_none)
<class 'NoneType'>
>>>
>>> 1+2
3
>>> 2-5
-3
>>> 2.0*3
6.0
>>> 6//2
3
>>> 6//4
1
>>> 7%2
1
>>> 2**3
8

Objetos:
- Son la abstracci贸n mas alta en los lenguajes de programaci贸n
- Son valores en memoria que podemos referenciar con variables
Tipos de objetos:
- Enteros
- Decimales
- Booleanos
- Cadenas de caracteres
Vectores

Modulo % devuelve el resto de una divisi贸n entre dos n煤meros

Hola amigos.
Les voy a dejar mi peque帽o resumen aqui.
Objetos:
** Enteros
Flotantes
Boolenos
Vectores**
Escalares
No escalares

my_int = 1
my_float = 1.0
my_bool = False
my_none = None

type(my_int)
<class 鈥榠nt鈥>

type(my_float)
<class 鈥榝loat鈥>

type(my_bool)
<class 鈥榖ool鈥>

type(my_none)
<class 鈥楴oneType鈥>

En el siguiente enlace podemos ver mas en detalle, los operadores aritm茅ticos en Python: Aqu铆
Ya que en mi caso, vi operadores nuevos, me parece regenial!!

Lenguaje de programaci贸n din谩mico, interpretado y f谩cil de aprender
clasificado como:

  • Lenguaje de Alto nivel
  • Lenguaje general
  • Lenguaje Interpreatado

Creado por Guido van Rossum en 1991
Ampliamente utilizado en ciencia e ingenier铆a

En Python, nombres de variables pueden:

  • incluir letras, d铆gitos y guiones bajos
  • no puede comenzar con un d铆gito
  • son may煤sculas y min煤sculas .

En matem谩tica, la aritm茅tica modular es un sistema aritm茅tico para clases de equivalencia de n煤meros enteros llamadas clases de congruencia.

type(my_none)
class 鈥淣onetype鈥

En matem谩tica, la aritm茅tica modular es un sistema aritm茅tico para clases de equivalencia de n煤meros enteros llamadas clases de congruencia, esta fue introducida en 1801 por Carl Friedrich Gauss y puede ser construida matem谩ticamente mediante la relaci贸n de congruencia entre enteros, que es compatible con las operaciones en el anillo de enteros: suma y multiplicaci贸n.

Estos fueron los resultados , al principio presente error por que en el valor de my_boll en vez de poner False puse false.

my_float = 1.0
my_bool = False
my_none = None
type(my_int)
<class 鈥榠nt鈥>
type(my_float)
<class 鈥榝loat鈥>
type(my_bool)
<class 鈥榖ool鈥>
type(my_none)
<class 鈥楴oneType鈥>

Para los que no hab铆an usado terminal antes (como yo 馃槩 )
terminal

Alguien sabe por que ya no ponen descripci贸n en los nuevos cursos?