Вы находитесь на странице: 1из 48

Nociones básicas de Python

NOCIONES BASICAS DE

Miguel Iván Bobadilla

~1~
Nociones básicas de Python

Indice
Introducción........................................................ 4
Sintaxis de Python .............................................. 6
Datos ................................................................... 6
Tipos de datos básicos ........................................ 7
Asignando valores, variables y constantes ......... 8
Salida de datos .................................................... 9
Comentarios ...................................................... 10
Entrada de datos ............................................... 10
Conversión de tipo de datos ............................. 12
Operadores aritméticos básicos ....................... 13
Posición numérica de caracteres en una cadena
........................................................................... 15
Colección de tipos de datos .............................. 16
Funcion len ()..................................................... 17
Función index .................................................... 18
Función range () ................................................ 18
Editando las listas.............................................. 19
append () ........................................................... 19
insert () .............................................................. 20
remove()............................................................ 20

~2~
Nociones básicas de Python

Operador + ........................................................ 21
Operaciones lógicas .......................................... 21
is ........................................................................ 23
and..................................................................... 26
or ....................................................................... 26
not ..................................................................... 26
Operadores de pertenencia .............................. 27
in........................................................................ 27
not in ................................................................. 27
Sentencias condicionales .................................. 28
Estructura de control ........................................ 31
while .................................................................. 32
for ...................................................................... 35
Excepciones ....................................................... 37
continue ............................................................ 39
break ................................................................. 40
pass ................................................................... 41
Funciones .......................................................... 42
Parámetros de una función............................... 43
Ejercicios ........................................................... 45

~3~
Nociones básicas de Python

Introducción

Python es un lenguaje de programación


interpretado legible y limpio, fácil de aprender
debido a la sencillez de su sintaxis. Es apto para
aprender programación debido a que al tener una
codificación simple facilita el aprendizaje y la
depuración de código ya que no posee codificación
compleja.

Python posee la ventaja de que podemos


ahorrar mucho tiempo en desarrollo ya que las
líneas de códigos son pocas a diferencia de otros
lenguajes. Su simplicidad evita errores de códigos
comunes y a una depuración rápida.

A pesar de que Python nos limita para


proyectos complejos, para proyectos simples y
rápidos es una buena opción, además de que si se
busca aprender a programar este es una cátedra
para todo principiante.

Aclaro que este libro está más orientado a


las funciones básicas, no abundaremos funciones
complejas ya que este libro está más orientado a
principiantes o personas que quieran aprender a
programar.

~4~
Nociones básicas de Python

Para descargar Python lo puedes encontrar


en el siguiente enlace:

https://www.python.org/downloads/

Luego lo instalas. Al finalizar vas a inicio,


todos los programas y seleccionas Python. Te
saldrán varias opciones, la que usaremos para
ejecutar codigo es IDLE (Python GUI) que
llamaremos Python Sell. La otra opción Python
(Command line) es para ejecutar líneas de
comando en Python, no lo usaremos debido a que
solo nos orientaremos a lo básico.

IDLE (Python GUI)

PYTHON (command line)

~5~
Nociones básicas de Python

Sintaxis de Python

Datos
Python nos ofrece un modo sencillo de
producir entrada y salida de datos gracias a su
forma dinámica, esto quiere decir que no hay que
especificar su tipo a la hora de declarar variables
ya que lo detecta de forma automática.

Tenemos que tener en cuenta una regla


básica, cuando el valor a introducir es una cadena
de texto este debe ir entre comillas, para que
python pueda distinguir los textos de los valores
que no son textos.

En el siguiente ejemplo tenemos el mismo


valor pero uno es texto y el otro no. Hay que tener
esto muy presente para evitar errores posteriores
en el código.

Nota: También podemos utilizar comillas simples


(´…´) para indicar cadena de texto.

~6~
Nociones básicas de Python

Otra regla básica es que las palabras


reservadas siempre irán en minúscula. Tener
cuidado con las mayúscula y minúscula ya que
Python es sensible a ello.

Tipos de datos básicos


Aunque en Python la escritura de código es
dinámica, por lo tanto no es necesario especificar
el tipo de variable en las declaraciones, en ciertas
ocasiones especiales los tendremos que usar.

Tipo Función
Int Variable para números enteros.
Float Variable para números decimales.
Chr Variable para un caracter alfanumérico.
Str Variable para cadenas alfanuméricas.
Bool Variable condicional (falso o verdadero)

En caso de que quisiéramos conocer el tipo


de dato de una variable utilizaremos la sentencia
Type (). Dentro del paréntesis colocamos el valor y
hacemos enter. “x” representara el valor, variable
o cualquier dato que queramos procesar.

Type (x)

Ejemplos:

~7~
Nociones básicas de Python

Hagamos un ejemplo con los valores del


primer ejemplo sobre la entrada de datos.

Si nos fijamos el primer valor sin las


comillas lo detectó como entero y el segundo valor
como cadena, por eso es importante tener en
cuenta esta regla de entrada.

Asignando valores, variables y constantes


La ventaja de Python ser dinámico es que
ahorramos mucho tiempo en el desarrollo del
código, por eso no hay que estar declarando el
tipo de datos cada vez que realizamos una
declaración. Para declarar variables y constantes
solo colocamos el nombre de la variable o
constante, una igualdad y luego su valor.

~8~
Nociones básicas de Python

Variable = x

Python asigna los valores a cada variable y


lo almacena en memoria, con estas variables
podemos realizar operaciones posteriores.
Hagamos el siguiente ejemplo, a esas mismas
variables identifiquemos su tipo.

Como observamos detecta su tipo de forma


automática.

Salida de datos
Para producir una salida de datos solo
tenemos que utilizar la sentencia Print ().

Print (x)

~9~
Nociones básicas de Python

También podemos usar Print para mostrar


letreros.

Comentarios
Siempre en la programación es
recomendable utilizar comentarios para que el
código este mas organizado, esto nos ayuda a
realizar una buena depuración de errores.
También para recordar que hace una rutina o para
que compañeros (si se trabaja en grupo) puedan
entender la función del código.

#x

Entrada de datos
Para recibir entrada de datos utilizamos la
sentencia Input ().

~ 10 ~
Nociones básicas de Python

Variable = imput (texto)

También podemos escribir el código de la


siguiente manera si queremos que la entrada se reciba
debajo del texto.

Print (texto)

Variable = input ()

Hagamos un simple ejemplo con entradas y


salidas. Primero ejecutemos el Python Sell y
seleccionamos File, luego New File.

Se ejecutara otra ventana (esta ventana es el


editor de Python), aquí escribimos el siguiente código.

Nota: Luego del letrero podemos hacer que


aparezca el valor de la variable con solo colocar
una coma después de la cadena de texto.

~ 11 ~
Nociones básicas de Python

Seleccionamos File y luego en Save. Guardamos


el archivo con el nombre que desee. Luego
presionamos la tecla F5 y se ejecutara el Python Shell.
Debería aparecer algo similar a esto:

Conversión de tipo de datos


En algunos casos habrá operaciones donde
dos o más variables tendrán que interactuar y en
ello se puede dar que una variable deba cambiar
de tipo, como por ejemplo un problema donde
tengamos que tomar un número de una cadena de
texto o viceversa convertir un número en cadena
de texto. También si queremos convertir en
decimales a entero o viceversa.

Tipo (x)

~ 12 ~
Nociones básicas de Python

Operadores aritméticos básicos


Operador Operación
+ Suma
- Resta
* Multiplicación
/ División coma flotante
// División sin coma flotante
% Sobrante de una división
** Potencia

~ 13 ~
Nociones básicas de Python

Problema: Desarrolle un programa que reciba dos


números de entrada y que realice las operaciones
de la tabla de arriba.

Solución:

~ 14 ~
Nociones básicas de Python

Resultado:

Posición numérica de caracteres en una


cadena
Python cuenta la cantidad de caracteres en
una cadena iniciando desde cero. Esto nos ayuda a
identificar la posición de un carácter en dichas
cadenas.

Cadena [x], siendo “x” un número entero.

Nota: Python cuenta los espacios.

Como podemos observar en el anterior


ejemplo si contamos desde 0 hasta llegar a 5 nos
toparemos que la posición de la cadena en 5 es
“m”.

~ 15 ~
Nociones básicas de Python

H o l a m U N d o
0 1 2 3 4 5 6 7 8 9

Colección de tipos de datos


Para almacenar cualquier tipo de
elementos de datos se utilizan las tuplas y las
listas. Las tuplas se identifican encerrándolas en
“()” y son inmutables. Las listas se identifican
encerrándolas en “*+” y pueden ser editadas.

Variable = (x,y,z)

Variable = [x,y,z]

Si queremos saber si una variable es una


lista o una tupla utilizaremos la ya conocida
sentencia type ().

~ 16 ~
Nociones básicas de Python

También si deseamos podemos insertar


tuplas dentro de listas y viceversa.

Si queremos saber la posición de un


elemento en una lista o tupla utilizamos la
siguiente sintaxis. Recuerde que Python inicia
desde 0 a contar.

Variable [posición]

Funcion len ()
La función len () se utiliza para contar la
cantidad de datos o elementos en una lista o tupla.
Hagamos un ejemplo con el ejemplo de los enteros
y decimales.

len (variable)

~ 17 ~
Nociones básicas de Python

También la función len () nos permite


contar cadenas de texto. Recuerden que Python
cuenta los espacios en blanco.

Función index
Se utiliza para buscar la posición de un
elemento en una lista o tupla.

Variable.index (x)

Función range ()
Se utiliza para crear una sucesión de
números enteros que serán inmutables.

range (x)

~ 18 ~
Nociones básicas de Python

Colocándole la palabra reservada list antes


de range podemos crear una lista.

list ( rang (x) )

Editando las listas


En ciertas ocasiones tendremos que editar
los elementos de una lista, para ello utilizamos los
métodos append, insert y remove. Recuerde que
esto no funciona en las tuplas ya que son
inmutables.

append ()
Se utiliza para agregar un nuevo valor al
final de una lista.

variable.append (x)

~ 19 ~
Nociones básicas de Python

insert ()
Se utiliza para agregar un nuevo valor a una
lista en una posición indicada.

Variable.insert (posición, x)

remove()
Se utiliza para eliminar un elemento de la
lista.

Variable.remove(x)

En caso de que solo quiera editar un


elemento de la lista ya sea para reemplazarlo o
corregirlo se utiliza la siguiente sintaxis.

Variable [posición] = x

Como puede observar la posición 1 estaba


la palabra Mario y se reemplazo por Luisa.

~ 20 ~
Nociones básicas de Python

Operador +
No solo es un operador aritmético de suma,
también puede utilizarse para agregar datos a una
lista.

Variable + = [x]

Operaciones lógicas

~ 21 ~
Nociones básicas de Python

Problema: Desarrolle una aplicación que reciba


dos números de entrada y realice operaciones
lógicas con ellos.

Solución:

Python también nos permite realizar


cadenas de operaciones.

~ 22 ~
Nociones básicas de Python

Aunque Python es un lenguaje dinámico


este no compara valores con tipos diferentes. Para
poder resolver este problema solo debemos
convertir el tipo de una de las variables.

Como vemos en el ejemplo anterior a pesar


de que el valor es similar son de tipos diferentes,
por eso muestra que era falso. El de la izquierda es
una cadena de texto y el de la derecha es un
entero, así que procedemos a convertir uno de los
dos, en este caso convertiremos la cadena de texto
a entero.

is
Es un operador booleano que devuelve
verdadero si la referencia del objeto que está a su
izquierda se refiere al mismo objeto que está a su
derecha.

~ 23 ~
Nociones básicas de Python

Variable is x o x is variable

También se puede utilizar la sentencia is


para verificar contenidos en listas y tuplas.

En este ejemplo en la variable “a” le


asignamos los valores de la lista de enteros, luego
verificamos si los valores de la variable “a” son los
mismos de la variable “enteros”. Como
observamos es verdadero. Hagamos un ejemplo
distinto.

~ 24 ~
Nociones básicas de Python

Aquí observamos que la variable


“decimales” no contiene los valores de la variable
“a” ya que la variable “a” tiene los valores de la
variable “enteros” por lo tanto es falso.

En el siguiente ejemplo muestra como no


se debe realizar la operación is.

¿Por qué muestra falso si son similares?,


porque aunque su contenido sea el mismo a y b
son dos objetos diferentes, por lo tanto hay que
asignarle los contenidos a una de las dos variables
para que la operación pueda realizarse
correctamente.

~ 25 ~
Nociones básicas de Python

and (a y b)

or (a o b)

not (a no b)

~ 26 ~
Nociones básicas de Python

Operadores de pertenencia
Los operadores de pertenencia nos ayudan
a realizar verificaciones de datos dentro de una
lista o tupla.

in
Es un operador booleando que devuelve
verdadero si el valor de la izquierda está contenido
en el valor de la derecha.

X in variable

Nota: Tener cuidado con las mayúsculas y


minúsculas en los valores, ya que Python es
sensible a ellas y puede causar errores si no
encuentra coincidencia.

not in
Es un operador booleando que devuelve
verdadero si el valor de la izquierda no está
contenido en el valor de la derecha. Es lo contrario
de in.

~ 27 ~
Nociones básicas de Python

X not in variable

También podemos realizar búsqueda de


pertenencia de trozos de palabras en cadenas.

Sentencias condicionales
Sentencia Significado
If Si
el if De lo contrario si
Else De lo contrario
: Entonces

Para crear condiciones en Python debemos


utilizar la siguiente sintaxis.

if condición :

has x

else:

has x

~ 28 ~
Nociones básicas de Python

En un lenguaje humano esto significa “si se


cumple dicha condición entonces haz la siguiente
operación de lo contrario realiza la siguiente
operación.”

En el ejemplo anterior la condición se


expresa de forma booleana, es decir, que mientras
la condición sea verdadera realizará una operación
pero si es falsa devuelve un argumento distinto.
Pero existen casos en la que deben realizarse
diferentes operaciones o devolver diferentes
argumentos, pero no podemos utilizar la sentencia
if dos o más veces, devolverá un error al menos
que se utilice en rutinas distintas, para ello se
utiliza la sentencia elif.

if condición:

Haz x

elif condición:

Haz x

Nota: No hay límite para los elif que puedes


utilizar.
~ 29 ~
Nociones básicas de Python

Esto significa “Si se cumple tal condición


entonces haz lo siguiente, pero si se cumple esta
otra condición entonces realiza la siguiente
operación”. Si deseamos podemos agregar un else
para sí ninguna de las condiciones se cumple.

Problema: Desarrolle una aplicación que calcule el


descuento de un 25% del valor de la compra que
tendrá un cliente siempre y cuando su compra sea
mayor o igual 2,000.00.

Solución:

Podemos realizar operaciones lógicas con


las sentencias condicionales.

~ 30 ~
Nociones básicas de Python

Problema: Desarrolle una aplicación que indique si


un niño pertenece a uno de los siguientes grupos.

Grupo Colores
A De 0 a 5 años
B De 6 a 12 años
C De 13 a 16 años

Solución:

Estructura de control
Las estructuras de control son métodos que
utilizamos para realizar repeticiones o ciclos de
rutinas en la que tenemos que realizar x
cantidades de veces una operación o argumento.

~ 31 ~
Nociones básicas de Python

while
La sentencia while se utiliza para repetir
una rutina mientras una condición o argumento
sea dada.

while argumento:

Haz X

“Mientras se cumpla el argumento dado haz lo


siguiente”.

Hagamos un ejemplo multiplicando un


valor x por 0 hasta 9.

Como podemos observar b será la cantidad


de veces que se realizara el ciclo. Mientras b sea
menor que 10 se realizara dicha operación hasta
que b sea menor que 10. Para que este algoritmo
funcione y no nos dé un bucle infinito (que la
rutina nunca termine) hay que realizar una
operación de conteo, así que incrustamos la
ecuación b=b+1, cada vez que se realiza la

~ 32 ~
Nociones básicas de Python

operación b cambiara su valor y cuando b llegue a


valer 9 termina ya que al llegar al valor 10 no
continuara la operación.

Nota: También podemos realizar conteos


utilizando la siguiente ecuación x + = 1.

Hagamos un ejemplo más simple con el


siguiente problema: Desarrollar una aplicación que
hasta que no reciba el número 2 de entrada no
termine de pedir entrada.

El ejemplo anterior el algoritmo dice


“mientras el numero sea diferente de 2 realizar la
siguiente operación”. Cuando el número es igual a
dos la rutina se detiene ya que no hay operación a
realizar.

Podemos utilizar la sentencia while en


listas y tuplas.

Problema: en un conjunto x de nombres tenemos


a José, María, Pedro y Juan. Desarrolle una
aplicación que cuente la cantidad de nombres que

~ 33 ~
Nociones básicas de Python

existen en este conjunto y la posición de cada


nombre.

Solución:

Nota: Luego de una sentencia Python


automáticamente la siguiente línea de código deja
un espacio para indicar que esa instrucción le
pertenece a la sentencia. Para crear una
instrucción fuera de la sentencia comience sin el
espacio para evitar futuros errores.

En el ejemplo anterior vemos que para


realizar un conteo necesitamos saber la cantidad
de posiciones que existen en el conjunto, por eso
utilizamos el método len para contar los valores
dentro de la variable nombre. Pero hay un
problema, Python cuenta desde cero por lo tanto
no podemos asignarle la variable cuenta como
posición exacta, ya que si empezamos desde 1 el
primer valor Python lo omitirá así que creamos
una variable llamada posición que empiece desde

~ 34 ~
Nociones básicas de Python

1 y se la asignamos a cada valor mientras el while


cumpla la condición.

for
Tiene la misma función que la sentencia
while. Se utiliza para repetir una instrucción o
rutina una cierta cantidad de veces según el valor
que le asignemos.

for i in variable:

Haz x

Nota: la letra “i” podemos sustituirla por cualquier


otra letra, no es una palabra reservada.

Lo que hizo el for fue tomar la posición de


cada elemento en la lista y realizó ciclos
imprimiendo cada elemento mientras recorría la
lista.

1 4 6 8
Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4

~ 35 ~
Nociones básicas de Python

Escribiendo la función range después de in


podemos asignar la cantidad de ciclos que
queremos que se efectúen.

Problema: Desarrolle una aplicación que reciba x


cantidad de números y luego lo sume todos.

Solución:

Problema: Desarrolle una aplicación que


identifique la cantidad de vocales, consonantes,
números y caracteres de una oración. (Esta es bien
difícil)

Solución:

~ 36 ~
Nociones básicas de Python

Excepciones
Las excepciones nos permiten tener un
código más legible, además de detener el
programa cuando ocurra algún error, ya que en
muchas ocasiones falla o presenta errores críticos
que nos deshabilitan el programa.

~ 37 ~
Nociones básicas de Python

Try:

….bloque_try

Except exception as variable:

…bloque_except

Except exception as variable:

…bloque_except

Nota: En lugar de variable tenemos la opción de


sustituirla con algún mensaje de texto.

Hagamos un ejemplo con un programa que


calcule la velocidad de un vehículo.

~ 38 ~
Nociones básicas de Python

En este ejemplo siempre y cuando los


valores introducidos sean números o no presente
ningún tipo de error de procesamiento se
ejecutará el primer bloque, en caso contrario se
ejecutará el segundo bloque y mostrara un
mensaje de error controlado sin preocuparnos de
que el sistema colapse

continue
Se utiliza regularmente en instrucciones o
rutinas de ciclos para indicar dónde termina un
proceso para continuar el ciclo siguiente. Con esta
sentencia de control se ignora todo lo que este
debajo de continue y regresa al ciclo.

¿Recuerda el ejemplo para explicar la


sentencia range?, pues usaremos el mismo
ejemplo. Este algoritmo lo que hace es que recibe
5 números, ahora le agregaremos una operación
para que sume y de cómo resultado el total de los
~ 39 ~
Nociones básicas de Python

números ingresados, pero si son números


negativos que lo ignore.

Si el programa recibe un numero negativo


no efectuara la operación, como puede observar
dentro de la sentencia condicional esta el continue
y debajo de esta la operación, por lo tanto si se
cumple la condición de que el numero es negativo
entonces se ejecutara el continue y se ignora la
operación que está debajo y continua el ciclo.

break
Parecido al continue pero con la diferencia
de que este detiene el ciclo hasta ese punto.

Usaremos el mismo ejemplo anterior, solo


que le agregaremos la instrucción de que si la
suma llega o pasa de 100 se detenga.

~ 40 ~
Nociones básicas de Python

pass
Es una sentencia que no hace
absolutamente nada, se utiliza normalmente para
tener pendiente para ingresar líneas de códigos
posteriormente en ese bloque o para si en
momento de desarrollo eliminamos algo
colocamos pass como forma de marcar que allí
había líneas de código. Hay muchas forma de
utilizar esta sentencia, generalmente para fase de
desarrollo ya que como no hace nada no interfiere
en el proceso de ejecutado.

~ 41 ~
Nociones básicas de Python

Como vemos en el ejemplo anterior debajo


de la sentencia condicional tenemos un pass, pero
al ejecutar el programa no ocurre nada cuando se
cumple la condición.

Funciones
Las funciones son un grupo de
instrucciones que se ejecutan a través de una
llamada. Las funciones nos permiten ahorrar líneas
de códigos ya que podemos ejecutar bloques ya
escritos sin tener que repetirlos de nuevo, es decir
reciclar o reutilizar código.

Python nos permite asignarle el resultado


de una función a una variable, la cual nos permite
realizar operaciones diversas donde sea necesario
reutilizar estos valores.

Para crear una función usamos def y luego


el nombre que le asignaremos a la función.

def nombre ():

bloque

Para llamar a la función solo escribimos el


nombre de la siguiente manera:

Nombre ()

~ 42 ~
Nociones básicas de Python

En el ejemplo anterior si ejecutamos el


programa no hará nada, ¿Por qué?, porque
necesita ser llamada para ejecutarse, así que
escribimos la llamada.

Parámetros de una función


Un parámetro es un valor que la función
espera recibir cuando es llamada para realizar
operaciones con dicho valor o valores.

Hagamos un ejemplo donde una función


reciba un número para realizar su tabla de
multiplicar.

~ 43 ~
Nociones básicas de Python

Como vemos en el ejemplo anterior al


llamar la función “multiplicar” tomara el valor que
le especificamos para realizar la operación dada en
la función.

~ 44 ~
Nociones básicas de Python

Ejercicios

1. Desarrolle una aplicación que reciba de


entrada dos números, los multiplique y luego
el resultado lo divida entre el primer número.
2. Desarrolle una aplicación que realice dos
operaciones para calcular la velocidad de un
vehículo sabiendo que la velocidad es igual a la
distancia entre el tiempo. Luego sume los dos
resultados.
3. Desarrolle un programa que recibe 10 edades y
que indique si es mayor de edad o no,
sabiendo que mayor de edad es mayor o igual
a 18.
4. Desarrolle un programa que lea la siguiente
oración: “Mañana es un buen día para
programar”. Calcule cuantas vocales existen.
5. Desarrolle una aplicación que reciba los
nombres de 10 donantes y su tipo de sangre.
Determine si una persona es apta para donar
siempre y cuando sea A+.
6. Desarrolle una aplicación que reciba de
entrada los ingresos y gastos de una compañía
y muestre ganancia neta, sabiendo que
ganancia meta es igual ingresos menos gastos.

~ 45 ~
Nociones básicas de Python

7. Desarrolle una aplicación que reciba de


entrada 20 números, luego cuente los positivos
y los negativos.
8. Desarrolle una aplicación que reciba la compra
de un cliente, si la compra excede de 1,500.00
entonces recibirá un descuento de 25% por el
valor de su compra.
9. Desarrolle un programa que reciba dos
números y lo sume, luego repita el proceso
hasta que la suma de dos números sea mayor o
igual a 200.
10. Desarrolle un programa que reciba 4
calificaciones de un estudiante y calcule el
promedio de ellas, si la calificación es mayor a
70 entonces aprobó la materia de lo contrario
reprobó la materia.
11. Desarrolle un programa que reciba una
cantidad de estudiantes x con sus calificaciones
finales y respectivas aulas o secciones, luego
realizar un promedio de las calificaciones en
base a secciones. Determine cual sección
posee el mejor promedio de calificaciones
entre todas, sabiendo que las secciones son A,
B, C.

~ 46 ~
Nociones básicas de Python

Miguel Iván Bobadilla

Puerto Plata, Republica Dominicana

miguelivanbobadilla@hotmail.com

~ 47 ~
Este libro fue distribuido por cortesía de:

Para obtener tu propio acceso a lecturas y libros electrónicos ilimitados GRATIS


hoy mismo, visita:
http://espanol.Free-eBooks.net

Comparte este libro con todos y cada uno de tus amigos de forma automática,
mediante la selección de cualquiera de las opciones de abajo:

Para mostrar tu agradecimiento al autor y ayudar a otros para tener


agradables experiencias de lectura y encontrar información valiosa,
estaremos muy agradecidos si
"publicas un comentario para este libro aquí".

INFORMACIÓN DE LOS DERECHOS DEL AUTOR

Free-eBooks.net respeta la propiedad intelectual de otros. Cuando los propietarios de los derechos de un libro envían su trabajo a Free-eBooks.net, nos están dando permiso para distribuir dicho
material. A menos que se indique lo contrario en este libro, este permiso no se transmite a los demás. Por lo tanto, la redistribución de este libro sín el permiso del propietario de los derechos, puede
constituir una infracción a las leyes de propiedad intelectual. Si usted cree que su trabajo se ha utilizado de una manera que constituya una violación a los derechos de autor, por favor, siga nuestras
Recomendaciones y Procedimiento de Reclamos de Violación a Derechos de Autor como se ve en nuestras Condiciones de Servicio aquí:

http://espanol.free-ebooks.net/tos.html

Вам также может понравиться