Professional Documents
Culture Documents
◽ acentos permitidos pero mejor evitarlos int(15.56) trunca la parte decimal (round(15.56) para redondear)
◽ prohibido usar palabras de python float("-11.24e8")
◽ discrimina minúsculas/MAYÚSCULAS
str(78.3) y la representación literal repr("Texto")
☺ a toto x7 y_max BigOne ver el reverso para mayor control al representar textos
☹ 8y and
bool use comparadores (con ==, !=, <, >, …), resultado lógico, valor de verdad
uno, el otro, o ambos bloque de sentencias 2… puede tener varios elif, elif... y solo un else al final,
not a no lógico ⁝ ejemplo:
True valor constante verdadero if x==42:
sentencia siguiente a bloque 1 # solo si la expresión lógica x==42 se cumple
False valor constante falso print("realmente verdad")
elif x>0:
☝ números reales… valores aproximados! ángulos en radianes Matemáticas # si no, si la expresión lógica x>0 se cumple
Operadores: + - * / // % ** print("seamos positivos")
from math import sin,pi… elif tamosListos:
× ÷ ab
÷ enteros resto de ÷
sin(pi/4)→0.707… # sino, si la variable lógica tamosListos es verdadera
cos(2*pi/3)→-0.4999… print("mira, estamos listos")
(1+5.3)*2→12.6 else:
acos(0.5)→1.0471…
abs(-3.2)→3.2 sqrt(81)→9.0 √ # en todos los otros casos
print("todo lo demás no fue")
round(3.57,1)→3.6 log(e**2)→2.0 etc. (cf doc)
bloque de sentencias que se repite Sentencia Bucle Condicional bloque de sentencias ejecutadas Sentencia Bucle Iterador
mientras la condición se cumpla para cada ítem de un contenedor o iterador
while expresión lógica: for variable in secuencia:
bloque de sentencias Control de Bucles bloque de sentencias
s = 0
i = 1 inicializaciones antes del bucle break recorre los valores de la secuencia
salir inmediatamente
condición con al menos un valor variable (aquí i) continue s = "un texto" inicializamos antes del bucle
siguiente iteración cnt = 0
while i <= 100: variable de bucle, valor manejado por la sentencia for
# sentencias se ejecutan mientras i ≤ 100 i=100 for c in s: Contamos cantidad
s = s + i**2
i = i + 1 ☝ cambiamos el valor condicional
s= ∑ i 2 if c == "t": de letras t en el texto
i=1 cnt = cnt + 1
print("encontramos",cnt,"'t'")
print("suma:",s) resultado computado luego del bucle recorrer un dict/set = recorrer la secuencia de llaves
☝ ¡ cuidado con hacer bucles infinitos ! use cortes para recorrer una subsecuencia
Recorrer lo índices de una secuencia
Entrada / Salida ◽ modificar el ítem correspondiente al índice
print("v=",3,"cm :",x,",",y+4) ◽ accesar ítemes alrededor del índice (antes/después)
lst = [11,18,9,12,23,4,17]
ítemes a imprimir: valores literales, variables, expresiones perdidos = []
parámetros de print:
for idx in range(len(lst)):
◽ sep=" " (separador de ítemes, espacio por omisión)
val = lst[idx] Limita los valores
if val > 15: mayores a 15, guarda
◽ end="\n" (caracter final, por omisión nueva línea)
◽ file=f (escribir a archivo, por omisión salida estándar)
perdidos.append(val) los valores perdidos.
lst[idx] = 15
s = input("Instrucciones:") print("modif:",lst,"-perd:",perdidos)
☝ input siempre retorna un texto, convertir a tipo requerido Recorrer simultáneamente los índices y valores de una secuencia:
(revisar Conversiones al reverso). for idx,val in enumerate(lst):
len(c)→ cuenta ítemes Operaciones sobre Contenedores uso frecuente en Generador de Secuencias de Enteros
min(c) max(c) sum(c) Nota: Para diccionarios y conjuntos, las bucles iterativos for por omisión 0 no inclusivo
operaciones son sobre las llaves.
sorted(c) → copia ordenada range([inicio,]fin [,paso])
valor in c → lógico, operador de membresía in (de ausencia, not in) range(5) 0 1 2 3 4
enumerate(c)→ iterador sobre (índice,valor)
Especial para contenedores de secuencias (listas, tuplas, textos) :
range(3,8) 3 4 5 6 7
reversed(c) → iterador inverso c*5 → duplicados c+c2 → concadenar range(2,12,3) 2 5 8 11
c.index(val) → posición c.count(val)→ cuenta ocurrencias range retorna un « generador », convertir a lista para ver
los valores, por ejemplo:
☝ modificar lista original Operaciones sobre Listas print(list(range(4)))
lst.append(item) añadir ítem al final
lst.extend(seq) añadir secuencia de ítemes al final
Definir Funciones
nombre de función (identificador)
lst.insert(idx,val) insertar ítem en un determinado índice
lst.remove(val) elimina el primer ítem con determinado valor parámetros nombrados
lst.pop(idx) elimina determinado ítem y retorna su valor def nombfunc(p_x,p_y,p_z):
lst.sort() lst.reverse() ordena / invierte la lista original
"""documentación"""
Operaciones en Diccionarios Operaciones en Conjuntos # bloque de sentencias, calcula result., etc.
d[llave]=valor d.clear() Operadores: return res valor resultado.
| → unión (caracter barra vertical) si no hay resultado, se
d[llave]→valor del d[llave] & → intersección ☝ parámetros y variables sólo
existen dentro del bloque y durante retorna: return None
d.update(d2) actualiza/añade - ^ → diferencia/diferencia simétrica
asociaciones < <= > >= → relaciones de inclusión la llamada a la función ("caja negra")
d.keys()
d.values() ver las llaves, valores s.update(s2) s.add(valor) Invocar Funciones
d.items() y asociaciones s.remove(llave) r = nombfunc(3,i+2,2*i)
d.pop(llave) s.discard(llave) un argumento por parámetro
obtener el valor de retorno (opcional)
guardar datos a disco, volver a leerlos Archivos
f = open("doc.txt","w",encoding="utf8") Formato de Textos
directivas de formato valores a formatear
variable para nombre de modo de apertura codificación de "model {} {} {}".format(x,y,r) str
operaciones archivo ◽ 'r' lectura caracteres en "{selección:formato!conversión}"
(+ruta…) ◽ 'w' escritura archivo: ◽ Selection : "{:+2.3f}".format(45.7273)
◽ 'a' añadir… utf8 ascii 2 →'+45.727'
Ejemplos