0% encontró este documento útil (0 votos)
148 vistas34 páginas

Ejercicios Básicos de Python desde Cero

Este documento presenta una serie de ejercicios introductorios de Python para reforzar conocimientos básicos como declarar variables, imprimir en pantalla, operaciones aritméticas y listas. Incluye 4 ejercicios que cubren estas temáticas de manera progresiva, explicando conceptos como comentarios y cómo acceder a elementos de listas. También presenta un artículo sobre la diferencia entre listas y tuplas en Python.

Cargado por

sergio maureira
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
148 vistas34 páginas

Ejercicios Básicos de Python desde Cero

Este documento presenta una serie de ejercicios introductorios de Python para reforzar conocimientos básicos como declarar variables, imprimir en pantalla, operaciones aritméticas y listas. Incluye 4 ejercicios que cubren estas temáticas de manera progresiva, explicando conceptos como comentarios y cómo acceder a elementos de listas. También presenta un artículo sobre la diferencia entre listas y tuplas en Python.

Cargado por

sergio maureira
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Ejercicios: Tutorial Python desde cero

(Parte 1)

PythonDiario

29/04/2015 - Actualizado: 22/12/2020

Ejercicios del Tutorial Python


En esta entrada pretendo dejar algunos ejercicios que reforzarán los
conocimientos que hemos ido adquiriendo en el Tutorial python desde
cero.
En esta primera parte, los ejercicios serán bien sencillos (declarar
variables, imprimir en pantalla, etc), pero si te quedas con gusto a poco,
puedes ver todos los ejercicios que tenemos en el blog en la entrada
siguiente: Ejercicios Python
Puedes dejar las soluciones al final de la entrada para ayudar a otra
persona en caso de duda.
En caso de tener dudas o alguna sugerencia, también puedes dejar tu
comentario al final de la entrada. Ya sin más, arrancamos con los
ejercicios.
Puedes hacer los ejercicios en el shell de python o en el editor que
prefieras.
Ejercicio 1
Declarar 5 variables (nombre, apellido, edad, altura, peso) con tus datos
personales (o los que tu quieras). Luego, con la función print devuelve
todos los datos por pantalla con el siguiente formato:
>>> print "Texto: ", variable
Donde "Texto: " cambiará por el valor que queremos mostrar (en caso de
que sea nombre sería "Nombre: ") y la variable será la que corresponda.
Ejercicio 2
Declarar 4 variables (a = 2, b = 3, c = 5 y resultado = 0).
Las variables serán declaradas solo una ves.
Se piden hacer varias operaciones (yo haré la primera de ejemplo)
Asignar a la variable resultado las siguientes operaciones e imprimirlas
en pantalla:
--> a + b
--> c * a
--> (b + c) - a
--> c / a
--> c // b
--> a ** b
--> (a + b + c) * 2
--> c % b
Ejemplo:

Ejercicio de Operaciones Aritméticas


Ejercicio 3
Algo que no debemos de olvidar cuando estamos haciendo un programa
son los comentarios. Los comentarios son textos informativos que
ayudan a entender el código (ya sea para nosotros u otros
programadores que vean nuestro código). Los comentarios comienzan
con el símbolo # y todo lo que sea agregado después del símbolo no
será interpretado como código en nuestro programa.
>>> #Esto es un comentario
>>> a + b #Esto es una suma
Para escribir más de una linea de comentario se utilizan las comillas
triples """

>>> """ Esto


>>> tambien
>>> es
>>> un comentario """
Ahora vamos al ejercicio.
1 - Declarar 3 listas con 5 elementos cada una inventados por ustedes
(nombres, edades, frutas).
2 - Antes de cada declaración agregar un comentario Ej: #Lista de
Animales
3 - Imprimir en pantalla el primer elemento de cada lista
4 - Imprimir en pantalla el último elemento de cada lista
5 - Imprimir en pantalla una por una las 3 listas
Ejercicio 4
Declarar las siguientes listas:

par = [2, 4, 6, 8]
impar = [1, 3, 5, 7]
resultado = 0
En los próximos ejercicios debemos saber como acceder a las listas
(recordar que los índices comienzan en 0). Las operaciones deben
asignarse a la variable resultado para luego imprimirla en pantalla. Dejo
el ejemplo del primer ejercicio para que quede más claro.
1 - SUMAR (+) El primer elemento de la lista par + el último
elemento de la lista impar
2 - RESTAR (-) El segundo elemento de la lista par - el segundo
elemento de la lista impar
3 - MULTIPLICAR (*) El último elemento de la lista par * el tercer
elemento de la lista impar
4 - DIVIDIR (/) El último elemento de la lista par / el primer
elemento de la lista par
5 - SUMAR (+) El segundo elemento de la lista impar + el tercer
elemento de la lista par + el último elemento de la lista impar
Ejemplo del primer ejercicio:
Hasta acá la primera tanda de ejercicios del tutorial. Si vienes de cero y
pudiste hacer los ejercicios verás que la cosa se pone muy interesante
jeje
Nos vemos en la próxima 😉😉

Diego

dejo mi ejercicio numero 2 para que lo revisen


>>> a = 2
>>> b = 3
>>> c = 5
>>> resultado = 0
>>> resultado = a + b
>>> print "a + b =",resultado
a+b=5
>>> resultado = c * a
>>> print "c * a =",resultado
c * a = 10
>>> resultado = (b + c)-a
>>> print "(b + c)-a =",resultado
(b + c)-a = 6
>>> resultado = c/a
>>> print "c/a =",resultado
c/a = 2
>>> resultado = c//b
>>> print "c//b =",resultado
c//b = 1
>>> resultado = a**b
>>> print " a**b =",resultado
a**b = 8
>>> resultado = (a+b+c)*2
>>> print "(a+b+c)*2 =",resultado
(a+b+c)*2 = 20
>>> resultado = c%b
>>> print "c%b =",resultado
c%b = 2

Listas vs Tuplas en Python

PythonDiario

27/08/2016 - Actualizado: 22/12/2020

Listas vs Tuplas en Python


Una pregunta que nos surge cuando somos principiantes es: ¿Cual es
la diferencia entre una lista y una tupla?
La respuesta es que hay 2 diferencias, existe la diferencia técnica y la
diferencia cultural.
Este artículo no es de mi autoría, es una traducción al español, cito el
enlace al final de la entrada.
En primer lugar, algo que es igual, tanto para las listas como para
las tuplas, es que ambas son contenedoras de una secuencia de
objetos:
>>> my_list = [1, 2, 3]
>>> type(my_list)
<class 'list'>
>>> my_tuple = (1, 2, 3)
>>> type(my_tuple)
<class 'tuple'>
Ambos pueden tener elementos de cualquier tipo, incluso dentro de
una sola secuencia. Ambos mantienen el orden de los elementos.
Ahora pasemos a ver las diferencias. La diferencia técnica entre
las listas y tuplas es que las listas son mutables (pueden ser
cambiadas) y las tuplas son inmutables (no se pueden cambiar). Esta es
la única distinción que hace el lenguaje Python sobre ellas:
>>> my_list[1] = "two"
>>> my_list
[1, 'two', 3]
>>> my_tuple[1] = "two"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
Esa es la única diferencia técnica entre las listas y tuplas, aunque se
manifiesta de varias maneras. Por ejemplo, las listas tienen un método
.append() para añadir más elementos a la lista, mientras que las tuplas
no lo hacen:
>>> my_list.append("four")
>>> my_list
[1, 'two', 3, 'four']
>>> my_tuple.append("four")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'append'
Las tuplas no tienen necesidad del método .append() porque no se
pueden modificar.
La diferencia cultural trata de como se utilizan realmente las listas y
las tuplas: las listas se utilizan cuando se tiene una secuencia
homogénea de longitud desconocida, las tuplas se utilizan cuando se
conoce el número de elementos de antemano debido a que la posición
del elemento es semánticamente significativa.
Por ejemplo, supongamos tenemos una función que dentro de un
directorio nos devuelve todos los archivos .py (*.py). Esto se debería
devolver en una lista, porque no sabemos cuantos archivos podemos
encontrar.
>>> find_files("*.py")
["control.py", "config.py", "cmdline.py", "backward.py"]
Por otra parte, supongamos que necesitamos almacenar 5 valores para
representar la ubicación de las estaciones de observación
meteorológicas: id, city, state, latitude y longitude. Una tupla es lo más
adecuado para esto en lugar de una lista:

>>> denver = (44, "Denver", "CO", 40, 105)


>>> denver[1]
'Denver'
A continuación, el primer elemento es el id, el segundo es la ciudad y así
sucesivamente.

Python tiene una facilidad llamada namedtuple que puede hacer el


significado más explicito:
>>> from collections import namedtuple
>>> Station = namedtuple("Station", "id, city, state, lat, long")
>>> denver = Station(44, "Denver", "CO", 40, 105)
>>> denver
Station(id=44, city='Denver', state='CO', lat=40, long=105)
>>> denver.city
'Denver'
>>> denver[1]
'Denver'
La diferencia técnica y la diferencia cultural tienen una alianza incomoda,
ya que están aveces en desacuerdo. ¿Porque deberían ser homogéneas
las secuencias mutables, pero las secuencias heterogéneas no serlo?
Por ejemplo, no puedo modificar mi estación meteorológica porque
un namedtuple es una tupla, que es inmutable:
>>> denver.lat = 39.7392
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: can't set attribute
Y aveces las consideraciones técnicas tienen prioridad sobre las
consideraciones culturales. No se puede utilizar una lista como clave
de diccionario, porque solamente los valores inmutables pueden ser
mezclados, osea, solo los valores inmutables pueden ser claves. Para
utilizar una lista como clave, se puede convertir a tupla:
>>> d = {}
>>> nums = [1, 2, 3]
>>> d[nums] = "hello"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>> d[tuple(nums)] = "hello"
>>> d
{(1, 2, 3): 'hello'}
Otro conflicto entre lo técnico y lo cultural: hay momentos en que el
mismo Python utiliza una tupla cuando una lista tiene más sentido.
Cuando se define una función con *args, nos lo pasa como una tupla, a
pesar de que la posición de los valores no es significativa. Se puede
decir que es una tupla porque no se puede cambiar lo que fue pasado,
pero esto es solo una valoración de la diferencia técnica sobre la cultural.
Lo se, lo se, en *args, la posición podría ser significativa debido a que
son parámetros posicionales. Sin embargo, en una función que ha de
aceptar *args y pasarlos a otra función, que es solo una sentencia de
argumentos, ninguno diferente de otro, el numero de ellos puede variar
entre invocaciones.

Python utiliza tuplas aquí porque son un poco más espacio-


eficientes que las listas. Esto muestra el lado pragmático de Python: en
lugar de discutir por la semántica lista/tupla de *args, solo se tiene que
utilizar la estructura de datos que funcione mejor para el caso.
En la mayoría de los casos, debemos elegir entre utilizar una lista o
una tupla en base a la diferencia cultural. Debemos pensar en nuestros
datos. Si podríamos llegar a tener diferentes longitudes, entonces es
probable que utilicemos una lista. Si cuando escribimos el código
sabemos de antemano la cantidad de elementos, entonces es probable
que utilicemos una tupla.
Por otro lado, la programación funcional hace hincapié en las
estructuras de datos inmutables como una manera de evitar los efectos
secundarios que puedan hacer difícil interpretar el código. Si somos fans
de la programación funcional, es probable que prefieramos tuplas por su
inmutabilidad.
Entonces: ¿Tuplas o listas? No es siempre una respuesta sencilla.

Ejercicios Propuestos Y Resueltos


Básicos En Python
10/10/201632 COMENTARIOS

Hola a todos, hoy os dejos una serie de ejercicios básicos que podéis utilizar para practicar todo
lo aprendido.

Todos los ejercicios que proponemos están resueltos en este mismo post, intenta hacerlo por ti
mismo y si te quedas atascado puedes mirar la solución. Recuerda, que no tiene por que estar
igual tu solución con la del post, el objetivo es que aprendas no que me copies la solución.

Aquí tienes todos los posts relacionados con python:


Si tienes alguna duda, recuerda que puedes consultarnos escribiendo un comentario en este post
o enviándonos un e-mail a administrador@discoduroderoer.es

1) Imprimir «Hola mundo» por pantalla.

2) Crear dos variables numéricas, sumarlas y mostrar el resultado

n3

+ variable2

de ",variable1,"+",variable2,"=",suma)

3) Mostrar el precio del IVA de un producto con un valor de 100 y su precio final.

hon3
= 100

cioProducto * IVA

o del IVA es", precioIVA, "€")

o final es", (precioIVA+precioProducto) ,"€")

4) De dos números, saber cual es el mayor.

n3

menor que B")

menor que A")

5) Crea una variable numérica y si esta entre 0 y 10, mostrar un mensaje indicándolo.

n3
):

entre 1 y 10")

ta en ese rango")

6) Añadir al anterior ejercicio, que si esta entre 11 y 20, muestre otro mensaje diferente y si esta
entre 21 y 30 otro mensaje.

hon

0):

a entre 1 y 10")

<=20):

a entre 11 y 20")

<=30):

a entre 21 y 30")

esta en ese rango")

7) Mostrar con un while los números del 1 al 100.


n3

bucle")

8) Mostrar con un for los números del 1 al 100.

9) Mostrar los caracteres de la cadena «Hola mundo».

n3

ndo":
10) Mostrar los números pares entre 1 al 100.

hon3

,101):

=0 ):

,101,2):

11) Generar un rango entre 0 y 10

n3

nge(10) )
12) Generar un número entre 5 y 10

n3

ge(5,10))

13) Generar un rango de 10 a 0.

n3

ge(10,0,-1))

14) Generar un rango de 0 a 10 y de 15 a 20, incluidos el 10 y 20


n3

nge(0,11))

nge(15,21))

rango2

15) Generar un rango desde 0 hasta la longitud de la cadena “Hola mundo”

n3

nge(0, len("Hola mundo")))

16) Pide dos cadenas por teclado, muestra ambas cadenas con un espacio entre ellas y con los 2
primeros caracteres intercambiados. Por ejemplo, hola mundo pasaría a mula hondo

n3

"Dame la primera cadena: ")

"Dame la segunda cadena: ")


2] + cadena1[2:] + " " + cadena1[:2] + cadena2[2:] )

17) Pide una cadena e indica si es un palíndromo o no.

hon3

("Dame una cadena: ")

= cadena1[::-1]

_reves)

cadena_al_reves ):

palindromo")

es palindromo")

18) Juguemos al juego de adivinar el numero, generaremos un número entre 1 y 100.

Nuestro objetivo es adivinar el número. Si fallamos nos dirán si es mayor o menor que el
número buscado. También poner el número de intentos requeridos.

hon3

ort *
oAleatorio(minimo,maximo):

mo > maximo:

x = minimo

nimo = maximo

ximo = aux

randint(minimo, maximo)

Error:

Debes escribir numeros")

-1

= generaNumeroAleatorio(1,100)

lse

rado:

ario = int(input("Introduce el número buscado: "))

suario > numero_buscado:

El número que buscas es menor")

os = intentos +1

_usuario < numero_buscado:

El numero que buscas es mayor")

os = intentos +1

rado = True

Has acertado el número correcto es " , numero_usuario, " te ha llevado ", intentos," intentos")
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

COMPARTIR



Articulos Relacionados

Ejercicios Propuestos Y Resueltos Tienda Oracle


17/04/2023
Ejercicios Propuestos Y Resueltos De Shellscript
06/12/2021

10 Comentarios
1. Miguel14/04/2017
Buen curso

2. Katya20/06/2017
Buenos ejercicios para comprender :D

3. Jesús11/11/2017
Gracias por estos ejercicios. Para los que estamos comenzando nos viene muy bien.
Un saludo.

4. David10/01/2018
Os dejo otra solución del último ejercicio, con intentos limitados y elección de dificultad (facil-
20 intentos, medio-10 intentos, dificil-5 intentos), cada turno te va diciendo los turnos que
quedan:
sol = random.randint(1,100)
dif = int(input(«Introduce dificultad (1-Fácil, 2-Medio, 3-Difícil):»))
if dif == 1:
intentos = 20
elif dif == 2:
intentos = 10
else: intentos = 5
entrada = -1
while (entrada != sol and intentos > 0):
intentos -= 1
entrada = int(input («Introduce número:»))
if entrada>sol:
print(«Es menor»)
print(«Te quedan %i intentos»%(intentos))
elif entrada<sol:
print("Es mayor")
print("Te quedan %i intentos"%(intentos))
else: print("Enhorabuena! Lo has conseguido")
if entrada != sol and intentos == 0:
print("Vaya, te has quedado sin intentos! Otra vez será")

Ejercicios Propuestos Y Resueltos Básicos En Python10/10/201632 Comentarios

Hola a todos, hoy os dejos una serie de ejercicios básicos que podéis utilizar para practicar todo lo
aprendido.

Todos los ejercicios que proponemos están resueltos en este mismo post, intenta hacerlo por ti
mismo y si te quedas atascado puedes mirar la solución. Recuerda, que no tiene por que estar
igual tu solución con la del post, el objetivo es que aprendas no que me copies la solución.

Aquí tienes todos los posts relacionados con python:

Si tienes alguna duda, recuerda que puedes consultarnos escribiendo un comentario en este post
o enviándonos un e-mail a administrador@discoduroderoer.es

1) Imprimir «Hola mundo» por pantalla.

Spoiler Inside SelectHide

2
3

#!/usr/bin/python3

print("Hola mundo")

2) Crear dos variables numéricas, sumarlas y mostrar el resultado

Spoiler Inside SelectHide

#!/usr/bin/python3

variable1 = 5

variable2 = 6

suma = variable1 + variable2

print("La suma de ",variable1,"+",variable2,"=",suma)

3) Mostrar el precio del IVA de un producto con un valor de 100 y su precio final.

Spoiler Inside SelectHide

2
3

10

11

#!/usr/bin/python3

IVA = 0.21

precioProducto = 100

precioIVA = precioProducto * IVA

print("El precio del IVA es", precioIVA, "€")

print("El precio final es", (precioIVA+precioProducto) ,"€")

4) De dos números, saber cual es el mayor.

Spoiler Inside SelectHide

6
7

#!/usr/bin/python3

a=7

b=5

if( a<b ):

print("A es menor que B")

else:

print("B es menor que A")

5) Crea una variable numérica y si esta entre 0 y 10, mostrar un mensaje indicándolo.

Spoiler Inside SelectHide

#!/usr/bin/python3

a=5

if(a>=1 and a<=10):


print("Esta entre 1 y 10")

else:

print("No esta en ese rango")

6) Añadir al anterior ejercicio, que si esta entre 11 y 20, muestre otro mensaje diferente y si esta
entre 21 y 30 otro mensaje.

Spoiler Inside SelectHide

10

11

12

#!/usr/bin/python

a = 35

if(a>=1 and a<=10):

print("Esta entre 1 y 10")

elif(a>=11 and a<=20):

print("Esta entre 11 y 20")

elif(a>=21 and a<=30):

print("Esta entre 21 y 30")


else:

print("No esta en ese rango")

7) Mostrar con un while los números del 1 al 100.

Spoiler Inside SelectHide

#!/usr/bin/python3

i=1

while( i<=100 ):

print(i)

i+=1

print("Fin del bucle")

8) Mostrar con un for los números del 1 al 100.

Spoiler Inside SelectHide

3
4

#!/usr/bin/python3

for i in range(1,101):

print(i)

9) Mostrar los caracteres de la cadena «Hola mundo».

Spoiler Inside SelectHide

#!/usr/bin/python3

for i in "Hola mundo":

print(i)

10) Mostrar los números pares entre 1 al 100.

Spoiler Inside SelectHide

6
7

10

11

12

13

14

#!/usr/bin/python3

#1º forma

print("1 forma")

for i in range(1,101):

if( (i%2)==0 ):

print(i)

print("")

#2º forma

print("2 forma")

for i in range(2,101,2):

print(i)

11) Generar un rango entre 0 y 10

Spoiler Inside SelectHide

3
4

#!/usr/bin/python3

rango = list( range(10) )

print(rango)

12) Generar un número entre 5 y 10

Spoiler Inside SelectHide

#!/usr/bin/python3

rango = list(range(5,10))

print(rango)

13) Generar un rango de 10 a 0.

Spoiler Inside SelectHide

2
3

#!/usr/bin/python3

rango = list(range(10,0,-1))

print(rango)

14) Generar un rango de 0 a 10 y de 15 a 20, incluidos el 10 y 20

Spoiler Inside SelectHide

#!/usr/bin/python3

rango1 = list(range(0,11))

rango2 = list(range(15,21))

final = rango1 + rango2

print(final)

15) Generar un rango desde 0 hasta la longitud de la cadena “Hola mundo”


Spoiler Inside SelectHide

#!/usr/bin/python3

rango = list( range(0, len("Hola mundo")))

print(rango)

16) Pide dos cadenas por teclado, muestra ambas cadenas con un espacio entre ellas y con los 2
primeros caracteres intercambiados. Por ejemplo, hola mundo pasaría a mula hondo

Spoiler Inside SelectHide

#!/usr/bin/python3

cadena1 = input("Dame la primera cadena: ")

cadena2 = input("Dame la segunda cadena: ")

print( cadena2[:2] + cadena1[2:] + " " + cadena1[:2] + cadena2[2:] )

17) Pide una cadena e indica si es un palíndromo o no.


Spoiler Inside SelectHide

10

11

12

#!/usr/bin/python3

cadena1 = input("Dame una cadena: ")

cadena_al_reves = cadena1[::-1]

print(cadena_al_reves)

if( cadena1 == cadena_al_reves ):

print("Es palindromo")

else:

print("No es palindromo")

18) Juguemos al juego de adivinar el numero, generaremos un número entre 1 y 100.

Nuestro objetivo es adivinar el número. Si fallamos nos dirán si es mayor o menor que el número
buscado. También poner el número de intentos requeridos.
Spoiler Inside SelectHide

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27
28

29

30

31

32

33

34

35

#!/usr/bin/python3

from random import *

def generaNumeroAleatorio(minimo,maximo):

try:

if minimo > maximo:

aux = minimo

minimo = maximo

maximo = aux

return randint(minimo, maximo)

except TypeError:

print("Debes escribir numeros")

return -1

numero_buscado = generaNumeroAleatorio(1,100)

encontrado = False

intentos = 0
while not encontrado:

numero_usuario = int(input("Introduce el número buscado: "))

if numero_usuario > numero_buscado:

print("El número que buscas es menor")

intentos = intentos +1

elif numero_usuario < numero_buscado:

print("El numero que buscas es mayor")

intentos = intentos +1

else:

encontrado = True

print("Has acertado el número correcto es " , numero_usuario, " te ha llevado ", intentos,"
intentos")

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

También podría gustarte