Sunteți pe pagina 1din 30

Manual bsico, iniciacin a Python 3

Manual bsico, iniciacin a Python 3


por Jos Miguel Ruiz Torres jmruizt.94@gmail.com
Este libro se distribuye bajo una licencia Creative Commons Atribucin-NoComercial-
CompartirIgual 3.0 Espaa.
sted es libre de!
Copiar" distribuir y comunicar p#blicamente la obra.
Remezclar $ trans%ormar la obra.
&ajo las condiciones siguientes!
Reconocimiento $ En todos los casos se deben reconocer los cr'ditos de la obra al autor
original ()os' *iguel +ui, -orres. y /acer una mencin a la comunidad 0ree 1evelopment.
No comercial $ No puede utili,ar esta obra para %ines comerciales.
Compartir bajo la misma licencia $ 2i altera o trans%orma esta obra" o genera una obra
derivada" slo puede distribuir la obra generada bajo una licencia id'ntica a 'sta.
2 Iniciacin a Python 3
ndice de contenido
nas palabras del autor........................................................................................................................3
Antes de empe,ar.................................................................................................................................4
Instalacin en 5inu6.........................................................................................................................4
Instalacin en *ac 72.....................................................................................................................4
Instalacin en 8indo9s...................................................................................................................:
;Cmo /ago mi programa<..................................................................................................................=
Editores para 5inu6..........................................................................................................................=
Editores para *ac 72......................................................................................................................=
Editores para 8indo9s....................................................................................................................>
Comen,amos........................................................................................................................................?
5os doce mandamientos.................................................................................................................@@
2alida de in%ormacin....................................................................................................................@A
-e6to..........................................................................................................................................@A
Comentarios..............................................................................................................................@A
N#meros....................................................................................................................................@3
Bariables.........................................................................................................................................@4
Entrada de in%ormacin..................................................................................................................@>
5a %uncin input(......................................................................................................................@>
Ejercicios.......................................................................................................................................A0
Condiciones...................................................................................................................................AA
i%Celse.........................................................................................................................................AA
eli%.............................................................................................................................................A3
Ejercicios...................................................................................................................................A4
&ucles.............................................................................................................................................A=
9/ile..........................................................................................................................................A=
Ejercicios...................................................................................................................................A>
5a despedida.......................................................................................................................................30
3 Iniciacin a Python 3
Unas palabras del autor
Escribo este manual con la intencin de ue sir!a como "erramienta de aprendizaje
para auellas personas ue deseen iniciarse en la programacin con #$t"on.
%u& se ir'n e(plicando los di)erentes conceptos con)orme sea necesario* en un
lenguaje colouial* procurando as& no agobiar al lector con una llu!ia de
de)iniciones $ tecnicismos ue una persona normal es incapaz de entender.
#arto de ue el lector no tiene ning+n conocimiento de programacin e intento
transmitirle lo imprescindible para ue sea capaz de progresar por s& mismo.
Es mi deseo poner esta obra a disposicin de toda persona ue desee compartirla o
adaptarla* siempre ue se respeten las condiciones anteriormente citadas.
#$t"on es un lenguaje de programacin ue puede usarse para crear programas en
di)erentes sistemas operati!os como ,inu(* Mac -. $ /indo0s.
.u )iloso)&a es ser un lenguaje sencillo a la !ez ue elegante $ )le(ible.
#$t"on es realmente potente $ puede usarse para casi cualuier propsito* desde la
creacin de un diccionario "asta un !ideojuego $ muc"o m's.
Espero uerido lector ue te di!iertas $ aprendas le$endo las l&neas de este libro.
1n cordial saludo.
Jos Miguel Ruiz Torres
4 Iniciacin a Python 3
Antes de empezar
%ntes de empezar a programar necesitaremos instalar #$t"on en el ordenador.
2omo no s u sistema operati!o est' usando el lector* e(plicar cmo proceder a
la instalacin en cada caso.
Instalacin en Linu
En ,inu( la instalacin resulta realmente sencilla. .i eres usuario de 1buntu
34ebian $ deri!ados5* basta con abrir la terminal $ escribir lo siguiente6
sudo apt-get install python3
.i eres usuario de otra distribucin no puedo guiarte desde au&* $a ue puede
!ariar el gestor de pauetes $ el nombre de la paueter&a. Escr&beme a mi correo si
necesitas a$uda $ estar encantado de ec"arte un cable.
Instalacin en Mac !"
#$t"on !iene preinstalado en este sistema. .i tu !ersin estu!iera desactualizada
deber's descargar uno de los siguientes pauetes seg+n te con!enga6
.i tienes un Macintos" con procesador 7ntel debes descargar el siguiente instalador6
"ttp688000.p$t"on.org8)tp8p$t"on89.:.98p$t"on;9.:.9;macos(<=.>.dmg
.i por el contrario tu m'uina tiene un procesador #o0er#2* debes descargar este6
"ttp688000.p$t"on.org8)tp8p$t"on89.:.98p$t"on;9.:.9;macos(<=.9.dmg
?o tengo el pri!ilegio de poseer estas m'uinas* as& ue m's no puedo "acer.
# Iniciacin a Python 3
Instalacin en $indo%s
#or suerte 3o por desgracia5 todo el mundo dispone de una copia de /indo0s en
casa* incluso $o@ as& ue en esta instalacin si os puedo guiar.
#$t"on no !iene preinstalado en /indo0s* por lo ue obligatoriamente deber's
descargar este pauete6
"ttp688000.p$t"on.org8)tp8p$t"on89.:.98p$t"on;9.:.9.msi
,a instalacin en /indo0s no tiene ma$or complicacin6 basta con "acer clic en
A.iguienteB repetidas !eces "asta )inalizar.
C con esto $a tenemos instalado #$t"on en nuestro ordenador.
& Iniciacin a Python 3
'(mo ha)o mi pro)rama*
1n programa est' compuesto por cdigos* rdenes simples ue las personas
podemos comprender. #or ejemplo6
; ,enguaje "umano6
-rden6 4ime* Dcu'nto son :E:F
Respuesta6 .on 4.
; ,enguaje #$t"on6
-rden6 print3:E:5
Respuesta6 4
G'cil* D!erdadF.
#ara escribir dic"os cdigos nosotros usaremos un editor de te(to. D2onoces el bloc
de notas de /indo0sF pues ese ser&a un ejemplo.
#ero el bloc de notas es mu$ malo* as& ue nosotros !amos a usar otro editor.
+ditores para Linu
En ,inu( tenemos magn&)icos editores como Gedit 3H?-ME5 $ Kate 3I4E5.
.i eres un enamorado de la terminal tambin puedes usar Pico.
%sumo ue los usuarios de ,inu( saben encontrar estos programas en su sistema o*
en caso de no tenerlos* saben instalarlos.
+ditores para Mac !"
,os usuarios de Mac tambin pueden dis)rutar de Gedit6
#ara Tiger 3<=.4* 7ntel56 descargar
#ara ,eopard 3<=.J56 descargar
#ara .no0 ,eopard 3<=.>5 $ posterior6 descargar
2omo $a dije antes* no esto$ metido en el mundo de %pple. .eguro de ue los
maueros conocen editores muc"o mejores para su sistema.
, Iniciacin a Python 3
+ditores para $indo%s
#ara /indo0s "a$ gran !ariedad* aunue $o me decanto por estos dos6
Hedit6 descargar
?otepadEE6 descargar
Mi recomendacin es ue !a$'is probando $ os uedis con el ue os resulte m's
cmodo. .i ninguno os con!ence* entonces podis buscar alternati!as en 7nternet.
2on esto $a tenemos lo necesario para empezar a aprender.
- Iniciacin a Python 3
Comenzamos
,o primero ue "aremos ser' crear un nue!o arc"i!o llamado A"ola.p$B.
En /indo0s puede surgir alguna complicacin* $a ue por de)ecto el sistema no
permite !er8cambiar la e(tensin a los arc"i!os.
2mo cambiar esto en /indo0s K#6
%bre el na!egador de arc"i!os $* como se muestra en la imagen* accede a
ALerramientas -pciones de carpeta...B. Me a la pestaNa AMerB $ desmarca la casilla
ue dice A-cultar las e(tensiones de arc"i!o para tipos de arc"i!o conocidoB.
. Iniciacin a Python 3
2mo cambiar esto en /indo0s O6
Me a A7nicio #anel de controlB* a"& cambia la !ista a A7conos grandesB $ entra en
A-pciones de carpetaB. En la nue!a !entana !e a la pestaNa AMerB $ a"& desmarca la
casilla de A-cultar las e(tensiones de arc"i!o para tipos de arc"i!o conocidosB.
Lec"o esto* abre el arc"i!o A"ola.p$B con tu editor de te(to )a!orito.
/0 Iniciacin a Python 3
Los doce mandamientos
Le au& unas sencillas normas ue deben respetarse para un correcto estilo de
programacin en #$t"on. Realmente ser&an doce* pero $o "e decidido suprimir
algunas para no con)undir al lector.
%l principio es probable ue no entiendas nada* pero con)orme !a$as a!anzando en
el libro todo cobrar' sentido. %"ora es bueno ue* por lo menos* te !a$a sonando6
/1 ,os nombres de los )ic"eros deben escribirse en min+scula. Ejemplo6
"ola.p$ calculadora.p$
21 ,as llamadas a )unciones se escriben en min+scula. Ejemplo6
print35 input35
31 ,as !ariables se escriben en min+scula $* de estar )ormadas por !arias
palabras* stas !an unidas por guiones bajos. Ejemplo6
balones piezasPdePrepuesto
41 ,os tipos de dato se escriben en min+scula. Ejemplo6
str int
#1 #on un espacio despus de cada coma. Ejemplo6
print3QTienesQ* numPzapatos* Qzapatos $Q* numPblusas* Qblusas.Q5
&1 #on un espacio antes $ despus de cada operador. Ejemplo6
R E : total ES >
,1 7ndenta con 4 espacios@ nunca uses el tabulador. Ejemplo6
i) nombre SS QTngelQ6
print3QLolaQ* nombre5
<:94
input35
-1 Escribe abundantes comentarios en tu cdigo* describiendo cada detalle* para
"acer ue sea lo m's claro $ legible posible.
// Iniciacin a Python 3
"alida de in2ormacin
3eto
Todo programa "ace una serie de acciones b'sicas. 1na de estas acciones es la de
mostrar in)ormacin6 te(to* n+meros* resultados... es algo imprescindible.
%ntes dijimos ue un programa se compon&a de peueNas l&neas de cdigo* rdenes
simples. En adelante llamaremos a estas rdenes funciones.
Mamos a "acer nuestro primer programa. Este consistir' en mostrar un te(to.
#ara mostrar te(to en #$t"on usamos la )uncin print* cu$a sinta(is es6
print('texto')
Ejemplo en lenguaje "umano6
-rden6 4ime AMe llamo .ergio $ tengo <> aNosB
Respuesta6 Me llamo .ergio $ tengo <> aNos
,enguaje #$t"on6
-rden6 print3QMe llamo .ergio $ tengo <> aNosQ5
Respuesta6 Me llamo .ergio $ tengo <> aNos
Recuerda6 print('el texto que quieres mostrar')
(omentarios
,os comentarios son anotaciones ue "ace el programador en su cdigo )uente.
.ir!en para ue al leer el cdigo* otros programadores puedan entenderlo
)'cilmente 3o incluso el autor original* al !ol!er a leerlo pasado un tiempo5.
En #$t"on los comentarios se "acen con una almo"adilla 3U5. Ejemplo6
# olo afecta al texto que !a a continuaci"n de la almohadilla#
print('$ola') # %e estoy saludando#
Es un buen "'bito escribir comentarios $ te con!iene acostumbrarte a "acerlo.
/2 Iniciacin a Python 3
45meros
DC si en lugar de te(to uiero mostrar una operacinF
Es mu$ )'cil* solo debes tener en cuenta una regla6 cuando !as a mostrar te(to* el
interior de los parntesis de print !a con comillas simples6
print('texto')
#ero cuando uieres mostrar n+meros u operaciones* !a sin comillas6
print(& ' ()
.e aprecia la di)erencia* D!erdadF. %"ora !amos a poner un ejemplo6
Ejemplo en lenguaje "umano6
-rden6 4ime* Dcu'nto son <= menos : $ medioF
Respuesta6 .on O $ medio.
,enguaje #$t"on6
-rden6 print3<= :.J5
Respuesta6 O.J
%u& solo "emos mostrado n+meros pero* Dpodr&amos mostrar te(to $ n+meros al
mismo tiempo en nuestro programaF ,a respuesta es ue s&.
-rden6 print36<= por 9 son6, <= V 95
Respuesta6 <= por 9 son 9=
#ara combinar te(to con operaciones debes respetar la regla ue mencion antes6
el te(to lle!a comillas* los n+meros no. ,a )rase '&) por 3 son' aunue contiene
n+meros* a estos se los considera te(to $ por eso lle!an comillas.
&) * 3 es una operacin@ no es te(to $ por eso no lle!a comillas.
7mportante6 el te(to !a separado de los n+meros $ operaciones por coma.
-rden6 print3QMi /indo0s tieneQ, >= E 4=, Q!irus.Q5
Respuesta6 Mi /indo0s tiene <== !irus.
#ongo una coma a cada lado de la operacin para separarlo de los dos te(tos.
/3 Iniciacin a Python 3
.eguro ue te "abr's desconcertado un poco al !er ue la multiplicacin en #$t"on
se "ace con asterisco 3V5 $ no con euis 3(5. Tambin te "abr' sorprendido !er ue
en los n+meros con parte )raccionaria no "a$ separacin por coma* sino por punto@
de tal manera ue el n+mero +,3) en #$t"on es +#3).
Te con!iene conocer los tipos de n+mero* as& como las operaciones aritmticas ue
puedes "acer en este lenguaje 3suma* resta* multiplicacin...5 $ otras m's potentes.
Tipos de n+mero $ operaciones6
En #$t"on* dentro del sistema n+merico decimal* podemos operar con n+meros
enteros $ n+meros reales. ,os n+meros enteros son auellos ue no tienen parte
)raccionaria@ $ los n+meros reales son los ue s& la tienen. Ejemplo6
?+mero entero6 <==
?+mero real6 :=.9=
La$ algo importante a tener en cuenta* $ es ue el resultado de una operacin ser'
entero o real dependiendo del tipo de n+meros con los ue se opere.
4e esta manera* si todos los n+meros son enteros el resultado tambin lo ser'@ pero
si al menos uno de los n+meros )uera real* el resultado ser' real. Ejemplo6
:= E 9= S J= U El resultado es entero* porue todos los n+meros lo son.
J V : S <= U El resultado tambin es entero.
:=.= E 9= S J=.= U El resultado es real* porue "a$ un n+mero real.
J V :.J S <:.J U El resultado tambin es real.
:.: =.: S :.= U El resultado tambin se muestra como real.
Le au& una tabla ue muestra algunas de las operaciones b'sicas ue pueden
"acerse en #$t"on6
Operacin Operador Ejemplo
2uma D A D 3 E :
+esta $ A $ 3 E -A
*ultiplicacin F 3 F 3 E ?
Gotencia FF 3 FF 3 E A=
1ivisin C 40 C : E >.3
Cociente CC 40 CC : E >
+esto H 40 H : E A
?ota6 asumo ue el lector tiene conocimientos de matmaticas su)icientes como para entender lo ue
se e(presa en la anterior tabla.
/4 Iniciacin a Python 3
7ariables
Ca sabemos cmo mostrar in)ormacin $ operar con n+meros* pero "asta a"ora
nuestra in)ormacin era est'tica $ no se guardaba en ning+n lado.
1na !ariable es un elemento ue permite almacenar in)ormacin. #ara comprender
su )uncionamiento pondr como ejemplo una comparacin.
7magina ue tienes : cajones $ cada uno lle!a una etiueta puesta. 4entro de cada
cajn tendremos guardado algo6
nombre S Q%lmudenaQ edad S <9
4e esta manera nuestro programa tendr' control en todo momento sobre los datos
ue manejamos. .i %lmudena cumpliera un aNo m's* su edad se incrementar&a6
nombre S Q%lmudenaQ edad S :=
#ongamos un ejemplo en #$t"on6
nombre - '.lmudena' # Guardo el nombre de la chica#
edad - &/ # Guardo su edad#
# 0uestro su nombre1
print('%e llamas', nombre)
# . continuaci"n muestro cuantos a2os tiene1
print('%ienes', edad, 'a2os#')
edad - edad ' & # 3e pongo un a2o m4s#
# 5uel!o a mostrar su edad1
print('6umples', edad, 'a2os 7felicidades8')
input() # $ago una pausa hasta que el usuario pulse la tecla 9:%;<#
El programa mostrar&a lo siguiente6
%e llamas .lmudena
%ienes &/ a2os#
6umples () a2os 7felicidades8
Te "abr's percatado de ue la )uncin print tambin sir!e para mostrar !ariables.
,as !ariables tambin deben respetar la norma ue !imos antes6 !an sin comillas $
deben estar separadas del te(to por coma.
/# Iniciacin a Python 3
,a !ariable debe su nombre a ue la in)ormacin ue guarda puede !ariar.
#ara manejar la in)ormacin podemos usar los operadores ue !imos en la anterior
tabla@ $ adem's* operar con !arias !ariables a la !ez. Ejemplo6
comida=ni2os - >) # %engo >) bande?as de comida para ni2os#
comida=adultos - 3) # %engo 3) bande?as de comida para adultos#
# 0uestro las bande?as que tengo1
print('%ienes', comida=ni2os, 'bande?as de comida para ni2os#')
print('%ienes', comida=adultos, 'bande?as de comida para adultos#')
# imulo que los clientes han hecho consumiciones1
comida=ni2os - comida=ni2os @ A)
comida=adultos - comida=adultos @ ()
# umo las bande?as que tengo y las guardo en otra !ariable1
total=comida - comida=ni2os ' comida=adultos
print('$a habido !enta# Bn total quedan', total=comida, 'bande?as de comida#')
input() # $ago una pausa hasta que el usuario pulse la tecla 9:%;<#
El programa mostrar&a lo siguiente6
%ienes >) bande?as de comida para ni2os#
%ienes 3) bande?as de comida para adultos#
$a habido !enta# Bn total quedan () bande?as de comida#
7mportante6 en el caso de Ccomida=ni2os - comida=ni2os @ A)D estamos "aciendo un
decremento en el !alor de la !ariable* pero de esta manera ueda demasiado largo.
#odr&a "acerse lo mismo de una manera m's corta* pero slo es !'lido cuando
inter!iene una !ariable $ un n+mero@ o dos !ariables. Ejemplo6
comida=ni2os - comida=ni2os @ A) # 0Etodo largo#
comida=ni2os @- A) # 0Etodo corto# $ace lo mismo que el largo#
Estar&amos "aciendo lo mismo* pero a"orrando espacio $ tiempo.
%u& otro ejemplo* esta !ez con dos !ariables6
total - &)
sobrante - ()
total '- sobrante # 3e sumo el contenido de CsobranteD a la !ariable CtotalD#
print('Bl total mas el sobrante es', total)
input() # $ago una pausa hasta que el usuario pulse la tecla 9:%;<#
El programa mostrar&a lo siguiente6 Bl total mas el sobrante es 3)
/& Iniciacin a Python 3
%"ora te enseNar lo ue nunca debes "acer6
cds=reggaeton - (
cds=metal - F
total - cds=reggaeton '- cds=metal # Slo pueden intervenir dos variables.
# Bsto darGa un error sint4ctico# :o se puede meHclar el metal con reggaeton###
Le au& una tabla en la ue podr's !er cada operacin con su correspondiente
ejemplo simpli)icado6
Operacin Ejemplo Ejemplo simplificado
Asignacin a E b a E b
2uma a E a D b a DE b
+esta a E a $ b a -E b
*ultiplicacin a E a F b a FE b
Gotencia a E a FF b a FFE b
1ivisin a E a C b a CE b
Cociente a E a CC b a CCE b
+esto a E a H b a HE b
/, Iniciacin a Python 3
+ntrada de in2ormacin
-tra accin imprescindible ue realiza un programa es la de tomar in)ormacin.
Esto le permite interactuar con el usuario* adapt'ndose a las necesidades de ste.
.i un programa no toma in)ormacin los resultados siempre ser'n los mismos* por
lo ue resultar' de poca utilidad.
La 2uncin input89
Ca "abr's !isto esta )uncin en ejemplos de cdigo anteriores. ?osotros la usaremos
para dos cosas6 "acer pausas en nuestro programa $ permitir ue el usuario
introduzca in)ormacin.
Meamos un ejemplo de pausa6
input()
%u& el programa se uedar&a esperando "asta ue el usuario pulse 7?TR-.
Tambin podemos "acer ue se muestre un mensaje junto con la )uncin. Ejemplo6
input('Pulsa 9:%;< para continuar###')
El programa mostrar&a lo siguiente6
Pulsa 9:%;< para continuar###
Tras pulsar 7?TR- el programa continuar&a con su ejecucin o* en caso de ser
input() la +ltima l&nea de cdigo* el programa )inalizar&a de )orma normal.
%"ora ue $a sabemos cmo "acer pausas con esta )uncin* !amos a aprender a
pedirle in)ormacin al usuario $ guardarla en !ariables. #ara ello conoceremos
algunos tipos de datos* los cuales se muestran en la siguiente tabla6
Tipo Clase Ejemplo
str -e6to IEsto es un te6toI
int N#mero entero A3
%loat N#mero real 3.@3
/- Iniciacin a Python 3
,a in)ormacin de la tabla anterior puede parecer algo con)usa al principio* pero
a"ora te lo e(plicar detalladamente para ue lo entiendas6
nombre - str (input('9ntroduce tu nombre'))
print('%e llamas', nombre)
1samos str cuando ueremos ue el usuario introduzca cualuier tipo de te(to
como palabras* )rases* etc. 2abe destacar ue tambin podemos operar con te(to
3sumarlo* restarlo* multiplicarlo...5* por incre&ble ue te pueda parecer. Ejemplo6
# Bste programa se in!enta palabras compuestas1
palabra=& - str (input('9ntroduce la primera palabra'))
palabra=( - str (input('9ntroduce la segunda palabra'))
compuesta - palabra=& ' palabra=( # $ago la uni"n de ambos textos#
print('0e he in!entado esta palabra1', compuesta)
El tipo int se utiliza cuando ueremos ue el usuario introduzca n+meros enteros.
Este tipo tamb&en es !'lido para n+meros mu$ grandes. Ejemplo6
edad - int (input('9ntroduce tu edad'))
print('%ienes', edad, 'a2os#')
-tro ejemplo6
dist=pluto - int (input('I. cu4ntos Jil"metros est4 Plut"n de la %ierraK'))
print('Bst4 a', dist=pluto, 'Jil"metros#')
1saremos el tipo float para ue el usuario introduzca n+meros reales. Ejemplo6
pi - float (input('I6u4l es el nLmero P9K')) # Ma sabemos que es 3#&A
print('Bl nLmero P9 es', pi)
C con esto tenemos lo necesario para crear una interaccin b'sica con el usuario.
/. Iniciacin a Python 3
+:ercicios
2on lo ue se "a !isto "asta a"ora "as acumulado una cantidad considerable de
in)ormacin $ $a !a siendo "ora de ir asimil'ndola. DWu mejor ue unos cuantos
ejercicios para ponerte a pruebaF
Tranuilo* son ejercicios resueltos. .i te uedas bloueado podr's !er la solucin.
?ota6 se entiende ue todos los ejercicios deber'n estar comentados $ "acer una
pausa "asta ue el usuario pulse 7?TR-* antes de )inalizar.
;az un pro)rama <ue111
/1 Muestre el teto =;ola mundo>1
21 Pida al usuario su nombre y edad, y los muestre1
31 Pida al usuario dos n5meros enteros, los sume y muestre el resultado1
41 Pida al usuario un n5mero real y calcule su ra?z cuadrada1
Para esto puedes usar la propiedad de las potencias 8@n A n
01#
91
#1 (alcule el rea de un c?rculo1 "er el usuario <uien introduzca el radio1
La 2rmula es PI multiplicado por radio al cuadrado 831/4 B r
2
91
20 Iniciacin a Python 3
/1 "olucinC
print3QLola mundo.Q5 U Muestro el te(to.
input3Q#ulse 7?TR- para )inalizar...Q5 U Lago una pausa.
21 "olucinC
nombre S str 3input3Q7ntroduzca su nombreQ55 U ,e pido su nombre.
edad S int 3input3Q7ntroduzca su edadQ55 U ,e pido su edad.
print3QTe llamasQ* nombre* Q$ tienesQ* edad* QaNos.Q5 U Muestro nombre $ edad.
input3Q#ulse 7?TR- para )inalizar...Q5 U Lago una pausa.
31 "olucinC
numP< S int 3input3Q7ntroduzca el primer n+meroQ55 U #ido un n+mero.
numP: S int 3input3Q7ntroduzca el segundo n+meroQ55 U #ido otro n+mero.
Resultado S numP< E numP: U Lago la operacin $ almaceno el resultado.
print3QEl resultado esQ* resultado5 U Muestro el resultado.
input3Q#ulse 7?TR- para )inalizar...Q5 U Lago una pausa.
41 "olucinC
radicando S )loat 3input3Q7ntroduzca el radicandoQ55 U #ido un n+mero.
resultado S radicando VV =.J U 2alculo la ra&z $ almaceno el resultado.
print3Q,a ra&z esQ* resultado5 U Muestro el resultado.
input3Q#ulse 7?TR- para )inalizar...Q5 U Lago una pausa.
#1 "olucinC
pi S 9.<4 U #7 son 9.<4
radio S )loat 3input3Q7ntroduzca el radio en cmQ55 U #ido al usuario el radio.
resultado S pi V radio VV : U Lago la operacin $ guardo el resultado.
print3QEl 'rea esQ* resultado* QcmQ5 U Muestro el resultado.
input3Q#ulse 7?TR- para )inalizar...Q5 U Lago una pausa.
2/ Iniciacin a Python 3
(ondiciones
,as condiciones dotan de inteligencia a nuestros programas. 1sando una condicin
puedes plantear una igualdad ue* si se cumple* conlle!a a una determinada accin.
#ara comprobar una igualdad usamos los siguientes operadores relacionales6
Operacin Operador Ejemplo Descripcin
Igual EE a EE b Comprueba si a y b son iguales.
1esigual JE a JE b Comprueba si a y b sin distintos.
*ayor Kue L a L b Comprueba si a es mayor Kue b.
*enor Kue M a M b Comprueba si a es menor Kue b.
*ayor o igual a LE a LE b Comprueba si a es mayor o igual a b.
*enor o igual a ME a ME b Comprueba si a es menor o igual a b.
% continuacin se e(plicar' cmo usar condiciones.
i2Delse
Xien* if $ else son dos )unciones ue pueden )uncionar en conjunto o de manera
independiente para crear condiciones. #ongamos un ejemplo con if6
nombre - str (input('I6"mo te llamasK')) # Pido al usuario su nombre#
# BstableHco una condici"n1 si el usuario se llama 6ristian, le saludo#
if nombre -- '6ristian'1
print('$ola', nombre)
<:94
input('Pulse 9:%;< para finaliHar###') # $ago una pausa#
Le establecido ue* si el usuario se llama 2ristian* el programa le saludar'. En caso
de no cumplirse esto* el programa terminar&a sin mostrar nada.
%"ora atento* pues lo ue !o$ a decir es mu$ importante6 para ue una serie de
acciones estn sujetas a una condicin deber's indentarlas con 4 espacios* nunca
con tabulador. Todo lo ue no est sujeto a una condicin !a sin indentado.
22 Iniciacin a Python 3
2omo $a dije antes* puedes usar if de )orma independiente. En cambio* para usar
else siempre debe "aber antes de ste un if.
El e)ecto de else es ue si no se cumple la condicin de if* entonces el bloue de
acciones de else se ejecuta. #ongamos otro ejemplo para !erlo con m's claridad6
# 3e pido al usuario que introduHca su nombre#
nombre - str (input('I6"mo te llamasK'))
# 6ompruebo si el usuario se llama 3aura#
# iempre que se cumpla el if, el else nunca se e?ecutar4#
if nombre -- '3aura'1
print('$ola', nombre)
<:94
# i no se cumple la condici"n de if, entonces sG se e?ecuta el else#
else1
print(':o te conoHco#')
<:94
# Bl input est4 afuera de ambas condiciones, asG que siempre se e?ecutar4#
# Para de?ar afuera un bloque, Este debe estar sin indentar#
input('Pulse 9:%;< para finaliHar###') # $ago una pausa#
2abe destacar ue despus de cada llamada a if $ else !an dos puntos 365.
%"ora supongamos ue ueremos comprobar !arias condiciones* Dpodr&amos
poner !arios if uno detr's de otroF la respuesta es ue s&. Ejemplo6
# Bste programa comprueba si cumplimos los requisitos de Nbuntu &(#)A#
# Pido informaci"n sobre el procesador1
procesador - float (input('I6u4ntos megaherHios tiene su procesadorK'))
# Pido informaci"n sobre la ;.01
ram - int (input('I6u4nta memoria ;.0 tiene su ordenadorK'))
if procesador O- &)))1 # 6ompruebo la potencia del procesador#
print('%u procesador cumple los requisitos#')
<:94
else1
print('%u procesador no cumple los requisitos#')
<:94
if ram O- &)(A1 # 6ompruebo la cantidad de ;.0#
print('%ienes suficiente memoria ;.0#')
<:94
else1
print(':o tienes suficiente memoria ;.0#')
<:94
input('Pulse 9:%;< para finaliHar###') # $ago una pausa#
23 Iniciacin a Python 3
eli2
La$ otro mtodo para "acer !arias comprobaciones* aunue el e)ecto es distinto.
.i ueremos "acer !arias comprobaciones $ ue !arios bloues de acciones se
ejecuten* entonces usaremos !arios if@ pero si ueremos "acer !arias
comprobaciones $ ue slo se ejecute un bloue de acciones* usaremos elif.
# Bste programa comprueba si un nLmero es positi!o o negati!o1
num - int (input('9ntroduHca un nLmero')) # Pido un nLmero al usuario#
if num P )1
print(num, 'es un nLmero negati!o#')
<:94
elif num O )1
print(num, 'es un nLmero positi!o#')
<:94
elif num -- )1
print(num, 'no pertenece a ningLn grupo#')
<:94
input('Pulse 9:%;< para finaliHar###') # $ago una pausa#
Tambin podemos aNadir un else despus del +timo elif para contemplar otros
posibles sucesos. Ejemplo6
nombre - str (input('I6"mo se llama ustedK')) # Pido su nombre al usuario#
# Bl programa comprobar4 si te llamas .lberto o ;egina#
# Qe cumplirse te saludar4, pero si tienes otro nombre dir4 que no te conoce#
if nombre -- '.lberto'1
print('$ola', nombre)
<:94
elif nombre -- ';egina'
print('$ola', nombre)
<:94
else1
print(':o te conoHco#')
<:94
input('Pulse 9:%;< para finaliHar###') # $ago una pausa#
7mportante6 esto no es m's ue una cuestin de gustos. 4ependiendo de tu estilo de
programacin 3$ del propsito de tu programa5 te sentir's m's cmodo con un
mtodo u otro* pero lo cierto es ue elif o)rece muc"as )acilidades.
#ara poder usar elif* antes debe e(istir un if. #uedes combinar if;elif;else, pero else
slo podr' inter!enir una !ez* despus del +ltimo elif* como muestra el ejemplo.
24 Iniciacin a Python 3
+:ercicios
%"ora ue "as aprendido a usar condiciones es momento de ponerlo en pr'ctica
para terminar de asimilarlo. En la p'gina siguiente encontrar's las soluciones.
?ota6 se entiende ue todos los ejercicios deber'n estar comentados $ "acer una
pausa "asta ue el usuario pulse 7?TR-* antes de )inalizar.
;az un pro)rama <ue111
/1 Pida dos n5meros reales, compruebe cul es mayor y lo muestre1
21 Pida tu edad y compruebe si tienes o no la mayor?a1 +n caso de introducir un
n5mero menor <ue cero, el pro)rama deEolEer un mensa:e de error1
31 Pida un n5mero entero, la nota 2inal de una asi)natura1 "i es menor <ue 0,
deEolEer un mensa:e de errorF si es menor <ue #, mostar por pantalla
=suspenso>F si es i)ual a #, =su2iciente>F si es i)ual a &, =aprobado>F si es i)ual a
,, =notable>F y si es mayor o i)ual a -, =sobresaliente>1
2# Iniciacin a Python 3
/1 "olucinC
numP< S )loat 3input3Q7ntroduzca el primer n+meroQ55 U #ido un n+mero.
numP: S )loat 3input3Q7ntroduzca el segundo n+meroQ55 U #ido otro n+mero.
U 2ompruebo cu'l de los dos es ma$or* o si son iguales.
i) numP< SS numP:6
print3Q.on iguales.Q5
eli) numP< Y numP:6
print3numP<* Qes ma$or ueQ* numP:5
eli) numP< Z numP:6
print3numP:* Qes ma$or ueQ* numP<5
input3Q#ulse 7?TR- para )inalizar...Q5 U Lago una pausa.
21 "olucinC
edad S int 3input3QD2u'ntos aNos tienesFQ55 U #ido la edad al usuario.
U Lago la comprobacin.
i) edad Z =6
print3QError.Q5
eli) edad Z <R6
print3QEres menor de edad.Q5
eli) edad YS <R6
print3QEres ma$or de edad.Q5
input3Q#ulse 7?TR- para )inalizar...Q5 U Lago una pausa.
31 "olucinC
nota S int 3input3Q7ntroduzca su cali)icacinQ55 U #ido la nota.
U Lago la comprobacin.
7) nota Z =6
print3QError.Q5
eli) nota Z J6
print3Q.uspenso.Q5
eli) nota SS J6
print3Q.u)iciente.Q5
eli) nota SS >6
print3Q%probado.Q5
eli) nota SS O6
print3Q?otable.Q5
eli) nota YS R6
print3Q.obresaliente.Q5
input3Q#ulse 7?TR- para )inalizar...Q5 U Lago una pausa.
2& Iniciacin a Python 3
Gucles
El bucle es otro tipo de condicin. 2on l tambin podemos plantear una igualdad*
con la di)erencia de ue mientras sta se cumpla* el bloue de acciones sujeto al
bucle se ir' repitiendo una $ otra !ez. El bucle slo )inalizar' cuando la igualdad
deje de cumplirse.
% continuacin se e(plicar' cmo usar el bucle Rhile.
%hile
El bucle Rhile se puede utilizar cuando desconocemos el n+mero de !eces ue se
repetir' un bloue $ para el mane?o de excepciones* entre otras cosas.
Meamos un ejemplo de repeticin de un bloue6
# Bste programa nos ser!ir4 para comprar un nLmero dado de c"mics1
comics=usuario - ) # :Lmero de c"mics que tiene actualmente el usuario#
# 3e pregunto al usuario cu4ntos c"mics le gustarGa tener#
num=comics - int (input('I6u4ntos c"mics te gustarGa tenerK'))
# 0ientras tengas menos c"mics de los que te gustarGa tener###
Rhile comics=usuario P num=comics1
print('%ienes', comics=usuario, 'comics#')
print('$as comprado un c"mic nue!o#')
comics=usuario '- &
input('Pulse 9:%;< para continuar###') # $ago una pausa#
<:94
input('Pulse 9:%;< para finaliHar###') # $ago una pausa#
El mane?o de excepciones sir!e para impedir ue ocurran impre!istos en la
ejecucin de un programa. #or ejemplo* cuando uiero ue el usuario introduzca
slo n+meros ma$ores ue cero.
# 3e pregunto al usuario cu4ntos c"mics le gustarGa tener#
num=comics - int (input('I6u4ntos c"mics te gustarGa tenerK'))
Rhile num=comics P- )1 # 0ane?o de excepciones#
print('Qebes introducir un nLmero mayor que cero#') # .d!ertencia#
# $ago que el usuario introduHca otro nLmero#
# i sigue siendo menor o igual a cero, el bloque !ol!er4 a repetirse#
num=comics - int (input('I6u4ntos c"mics te gustarGa tenerK'))
<:94
input('Pulse 9:%;< para finaliHar###') # $ago una pausa#
2, Iniciacin a Python 3
+:ercicios
%"ora ue sabes usar bucles es el momento de ponerlo en pr'ctica. [ste ser' el
+ltimo ejercicio del libro* $ con l termina tu aprendizaje.
?ota6 el ejercicio deber' estar comentado@ tener manejo de e(cepciones $ "acer una
pausa "asta ue el usuario pulse 7?TR-* antes de )inalizar.
;az un pro)rama <ue111
/1 Pida al usuario un n5mero entero, impidiendo <ue Hste sea menor <ue cero1
+l pro)rama mostrar la tabla de multiplicar de dicho n5mero1
2- Iniciacin a Python 3
/1 "olucinC
num S int 3input3Q7ntroduzca un n+meroQ55 U #ido un n+mero al usuario.
multiplicador S = U ?+mero ue ir' multiplicando al introducido.
0"ile num Z =6 U Manejo de e(cepciones.
print3QEl n+mero introducido no puede ser negati!o.Q5 U %d!ertencia.
num S int 3input3Q7ntroduzca otro n+meroQ55 U #ido un n+mero al usuario.
U Mientras el multiplicador sea menor o igual a <=...
0"ile multiplicador ZS <=6
resultado S num V multiplicador U -pero $ almaceno el resultado.
print3num* Q(Q* multiplicador* QSQ* resultado5 U Muestro el resultado.
multiplicador ES < U 7ncremento el multiplicador.
input3Q#ulse 7?TR- para )inalizar...Q5 U Lago una pausa.
2. Iniciacin a Python 3
La despedida
.i lees estas l&neas caben dos posibilidades6 o eres un curioso $ te "as ido directo a
mirar u "a$ en la +ltima p'gina del libro* o est's a punto de terminarlo.
4e ser el segundo caso* te )elicito. Las aprendido lo b'sico $ $a est's preparado
para seguir tu propio camino* pero debes saber ue toda!&a te )altan muc"&simas
cosas por !er. 4ominar el arte de la programacin reuiere aNos.
[ste es un camino di)&cil $ m's cuando se recorre en solitario. #or eso* Du mejor
ue ir acompaNado por otras personas ue comparten tus mismos interesesF.
E(iste una comunidad de usuarios apasionados por la libertad $ la tecnolog&a
llamada Gree 4e!elopment. %ll& todos "acen un magn&)ico trabajo compartiendo sus
conocimientos $ lle!ando a cabo pro$ectos ue apuestan por el bien com+n.
2ualuier persona puede entrar a )ormar parte de la comunidad sin importar su
ni!el de conocimientos. ,os miembros estar'n encantados de conocer a nue!os
compaNeros $ sin duda ser' una gran e(periencia para ti.
#uedes contactar con la comunidad Gree 4e!elopment desde las redes sociales6
4iaspora
Gaceboo\
Tuenti
T0itter
Tambin puedes escribirles un correo a )ree.de!elopment.Odb@gmail.com
#or +ltimo* debo con)esar ue "e dis)rutado muc"o in!irtiendo mi tiempo en esta
obra $ espero ue t+ "a$as sentido lo mismo. .in m's demora me despido.
Jos Miguel Ruiz Torres
30 Iniciacin a Python 3

S-ar putea să vă placă și