0% encontró este documento útil (0 votos)
10 vistas

Python Objetos Numericos

Cargado por

Pedro Serna Ruiz
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
10 vistas

Python Objetos Numericos

Cargado por

Pedro Serna Ruiz
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

FUNDAMENTOS DE COMPUTACIÓN

Grado en ingenierı́a en tecnologı́as Industriales


Universidad de Cantabria

Python. Objetos númericos


6 de septiembre del 2023

http://www.python.org

Python es un lenguaje interpretado: para ejecutar un programa escrito en este lenguaje, necesitamos un intérprete
adecuado para la máquina en que lo queremos ejecutar. Este intérprete recorre el código traduciendo sus instrucciones a
operaciones del procesador.

1. El programa Python
Desde la dirección de arriba, podemos descargar gratuitamente el programa, a parte del intérprete o la shell también
contiene un editor de texto IDLE( Integrated DeveLopment Environment) apropiado para escribir programas.
SISTEMA OPERATIVO Windows. Desde la página web http://www.python.org descargamos e instalamos una
versión de Python , posterior a 3.5. Seguimos la instalación por defecto y solamente seleccionamos la casilla Add
python.exe to Path. En la carpeta creada en la descarga, encontraremos cuatro archivos. Abrimos, en este caso
IDLE(Python 3.8.5)

El prompt del sistema >>> nos invita a escribir statements (sentencias), que son las instrucciones que escribimos en
el lenguaje Python. Un ejemplo de sentencia son las expresiones, como las que aparecen en el bloque siguiente. El
intérprete interactivo las evalúa (calcula su valor) y nos muestra el resultado:
Un programa suele tener la forma de un fichero de texto donde se escriben secuencialmente las instrucciones de que
consta. Para escribir un programa, necesitamos papel y lápiz o un editor de textos.
En el menú de la shell, selecionamos File y a continuación pinchamos New File. Escribimos el programa:

Guardamos el archivo como g418.py (fijaros en la extensión .py). Ahora lo ejecutamos pinchando Run (alternativa-
mente pulsando la tecla F5):

SISTEMA OPERATIVO Linux y macOS. Una versión de Python está instalado en todas las distribuciones de
Linux y macOS. Para ejecutar el programa, abrimos una terminal y simplemente lanzamos el intérprete:
$ python
>>>
En Linux, si queremos descargar el editor IDLE, deberemos escribir lo siguiente en una terminal y a continuación
pulsamos la tecla intro:
$ sudo apt install idle
Para macOS se descarga IDLE directamente de la dirección http://www.python.org

Una vez instalada la aplicación IDLE en ambos sistemas operativos, podemos lanzarla y realizar exactamente lo
mismo de arriba.
2. Otros programas
1. Abrir el editor de texto y copiamos el siguiente programa:

#Programa de conversion de temperaturas


# Autor: Guido van Rossum
# 7/9/2022
celsius = float(input(" ¿Cuál es la temperatura en grados Celsius? "))
fahrenheit = (9 / 5)*celsius + 32
print("La temperatura en grados Fahrenheit es,", fahrenheit)

Guardar el programa como el nombre temperaturaCaF.py en la carpeta Escritorio y ejecutar. ¿Qué hace este
programa?
2. Abrir un editor de texto y copiar en el editor el siguiente programa:

def mcd(a, b):


if a == 0:
return b
return mcd(b % a, a)

Guardar el programa como el nombre mcd.py en la carpeta practicas python y ejecutar

>>> mcd(12, 9) -----------> pulsamos la tecla intro


3
>>> # Le ejecutamos varias veces para distintos enteros a, b..
>> mcd(45, 70)
5
>>> mcd(2022, 2023)
1

¿Qué hace este programa?

3. Abrir un editor de texto, copiar y pegar(tener cuidado con el sangrado) en el editor el siguiente programa: Guardar
el programa como el nombre calif icacion desglose.py en la carpeta practicas python y ejecutarlo.

3. Calculadora. Objetos númericos


En Python los datos toman la forma de objetos (objects), y cada objeto tienen una clase (class) que define que tipo
de operadores y métodos podemos usar con ellos. La función type() nos muestra la clase.

1. Algunos objetos númericos:

enteros: números enteros (int).


>>> 124 >>> type(-344)
124 <class ’int’>

números en coma flotante: números decimales ( float) : ±M × B E o ±M × B e , donde M es la mantisa,


B es la base y E o e es el exponente. La base en la representación decimal es 10 y el exponente se separa de la
mantisa con la letra e o E. La codificación utilizada en Python es el IEEE standard 754 con precisión doble
53 bits de precisión ( se explicará en clase de teorı́a). En español la parte fraccionaria de un número se separa
de la parte entera por una coma, la norma anglosajona es con un punto
>>> 56.3 >>> type(4.67)
56.3 <class ’float’>
>>> 45e2 >>> 2,1
4500.0 (2, 1)
>>> 45E-3 >>> type((2,1))
0.045 <class ’tuple’>
números complejos ( complex): La raı́z imaginaria de la unidad (el número i tal que i2 = −1) se representa
por 1j.
Los métodos real y imag extrae la parte real y la parte imaginaria (respectivamente) del número complejo.
>>> 1j >>> type(4.2+3.7j)
1j <class ’complex’>
>>> 3+5j >>> j
(3+5j) Traceback (most recent call last):
>>> (3+5j).real File "<stdin>", line 1, in <module>
3.0 NameError: name ’j’ is not defined
>>> (3+5j).imag
5.0

2. Operadores aritméticos:
Una expresión es una combinación de objetos y operadores. La sintaxis para una expresión simple es:
<objeto> <operador> <objeto>

Operador Operación Ejemplo Resultado Prioridad


** Exponenciación 2**3 8 1
* Multiplicación 8.5*2.5 21.25 2
/ División 11/3 3.6666666666666665 2
// Cociente 11//3 3 2
% Resto o módulo 29 %8 5 2
+ Suma 11.1+3 14.1 3
- Resta 5-3j-19 (-14-3j) 3

El resultado de los operadores aritméticos depende del tipo de dato de los operandos. Analizamos el operador módulo
o resto , % y el operador división, //:
El cociente y resto de la división Euclı́dea. Dados dos números enteros a y b tales que b > 0, existe un único
par de números enteros q y r tales que :

a = b × q + r,
verificando que 0 ≤ r < b. Se dice que q y r son el cociente y resto (respectivamente) de la división Euclı́dea de a
entre b
Por ejemplo, a = 45 y b = 7, tenemos que 45 = 7 × 6 + 3, cociente 6 y resto 3. Si a = −45 y b = 7, entonces
−45 = 7 × (−7) + 4, cociente −7 y resto 4. En las condiciones de arriba los operadores // y % se obtiene el cociente
y el resto (respectivamente) de la división Euclı́dea.

>>> -45%7 >>> -45//7


4 -7

Cuando en una expresión aparecen varias operadores, Python las efectúa aplicando las reglas usuales
de prioridad de las operaciones, como se ilustra en la tabla. Y con la misma prioridad se ejecutan
de izquierda a derecha, excepto la exponenciación, que se ejecuta de derecha a izquierda. En caso de
querer que las operaciones se realicen en otro orden, se pueden utilizar paréntesis.

>>> 2*4+5 >>> 12/(3*2)


13 2.0
>>> 2*(4+5) >>> 2+3**2*5
18 47
>>> -2*2 >>> 2+(3**2)*5
-4 47
>>> -3//2 >>> 2**1/3
-2 0.6666666666666666
>>> 12/3*2 >>> 2**(1/3)
8.0 1.2599210498948732
>>> 2+3*1+2 >>> 2**1**3
7 2
Se tiene que los números enteros es un subconjunto de los reales y, estos últimos de los números complejos. Por lo
tanto, en Python si en la expresión <objeto> <operador> <objeto> uno de los objeto es de una class digamos
más grande, entonces el valor de la expresión es un objeto de esa clase:

>>> 1.1 + 2
2.1

3. Errores de tecleo y excepciones. Si introducimos una expresión incorrectamente, Python nos lo indicará con
un mensaje de error.

0+1)
File "<stdin>", line 1
0+1)
^
SyntaxError: invalid syntax
>>> 1/0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: division by zero

El primero es un error de sintaxis (SyntaxError) y el segundo es de naturaleza distinta, se trata de un error de


división por cero.
4. El entero más grande está limitado por las caracterı́sticas del computador (memoria, etc.). Sin embargo, el número
decimal más grande que acepta Python es 10308 y el más próximo a cero es 10−323

>>> 10**308+0.1
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
10**380+0.1
OverflowError: int too large to convert to float
>>> 10.02**308
Traceback (most recent call last):
File "<pyshell#79>", line 1, in <module>
10.02**308
OverflowError: (34, ’Result too large’)
>>> 10**308+1
1000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000001

5. El módulo math. El módulo o librerı́a math es un conjunto de funciones matemáticas de Python . Para cargar
todas las funciones del modulo:

>>> from math import*


>>> sin(34)
0.5290826861200238
>>> cos(34)
-0.8485702747846052
>>> sin(34)**2+cos(34)**2
1.0
>>> log(256,2)
8.0
>>> log(256)
5.545177444479562

Para cargar solamente las funciones sin y cos.

>>> from math import sin, cos


>>> sin(34)
0.5290826861200238
Otra forma de ejecutar las funciones del modulo math:

>>> import math


>>> math.sin(34)
0.5290826861200238

Para obtener ayuda sobre un módulo.

>>> import math


>>> help(math)

4. Ejercicios
1. Escribe un programa como el ejercicio 2-2 para convertir grados Fahrenheit en grados Celsius. Y guárdalo en
temperaturaF aC.py
2. ¿Qué resultará de ejecutar las siguientes expresiones en Python ? Haz los cálculos a mano y comprueba el resultado
con el ordenador. Algunos de ellas pueden producir errores de tecleo y/o excepciones.
a-1) 2 + 3 ∗ 2 + 2 a-2) (2 + 3) ∗ 2 + 2 a-3) + − − − 2 a-4) − + − + 5 a-5) 1 + ∗3
b-1) 1 + 2 ∗ ∗2 ∗ 3 b-2) 1 + ((2 ∗ ∗3) ∗ 5 b-3) 1 + 2 + 3 + 0.5 b-4) 1.0 + 3/2 b-5) 1.0 + 3 %2
c-1) 1/2/4.0 c-2) 1/2.0/4 c-3) 1//2/4 c-4) 4.0**(1/2)+1//2 a-5) 4.0**(1.0/2)+1/2.0
d-1) 1.0/2//4 d-2) 4**.5 d-3) 4.0**(1//2) d-4) 3e3//10 d-5) 10//5E-3
e-1) 3/2 +1 e-2) 1j**2 e-3) 4. %3 e-4) 1-3*y+4 d-5) 3.2+1
3. Traduce las siguientes expresiones matemáticas a Python y evalúalas. Trata de utilizar el menor número posible
de paréntesis:
a) 2 + (3(6/2))
4+6
b) 2+3
c) (4/2)5
2
d) (4/2)4+2
e) (−3)2
f) −(32 )
4. Calcular:
a) log4 (234)
b) cos(2.34π)

c) 678
d) e + π, donde e es el número de Euler o constante de Napier.
e) mcd(90765,135139) (el máximo común divisor)

También podría gustarte