Hola a todos, hoy os dejo una serie de ejercicios propuestos y resueltos de listas, tuplas y diccionarios en Python.
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:
1) Mete los valores del 1 al 100 en una lista.
—- 1º forma —–
|
1 2 3 4 5 6 7 8 9 10 |
#!/usr/bin/python3 lista = [] i=1 while i<=100: lista.append(i) i=i+1 print (lista) |
—- 2º forma —-
|
1 2 3 4 5 |
#!/usr/bin/python3 lista = list(range(1,101)) print (lista) |
2) Crea una tupla con los meses del año, pide números al usuario, si el numero esta entre 1 y la longitud máxima de la tupla, muestra el contenido de esa posición sino muestra un mensaje de error.
El programa termina cuando el usuario introduce un cero.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#!/usr/bin/python3 meses = ("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre") salir = False while(not salir): numero = int(input("Dame un numero: ")) if(numero==0): salir= True else: if(numero>=1 and numero<=len(meses)): print(meses[numero-1]) else: print("Inserta un numero entre 1 y ",len(meses)) |
3) Pide un numero por teclado y guarda en una lista su tabla de multiplicar hasta el 10. Por ejemplo, si pide el 5 la lista tendrá: 5,10,15,20,25,30,35,40,45,50
|
1 2 3 4 5 6 7 8 9 10 |
#!/usr/bin/python3 numero = int(input("Dame un numero: ")) lista = [] for i in range(1,11): lista.append(i*numero) print(lista) |
4) Pide números y mételos en una lista, cuando el usuario meta un 0 ya dejaremos de insertar. Por último, muestra los números ordenados de menor a mayor.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#!/usr/bin/python3 lista = [] salir = False while(not salir): numero = int(input("Dame un numero: ")) if(numero == 0): salir=True else: lista.append(numero) lista.sort() #ordena la lista print(lista) |
5) Lo mismo que el anterior pero ordenando de mayor a menor.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#!/usr/bin/python3 lista = [] salir = False while(not salir): numero = int(input("Dame un numero: ")) if(numero == 0): salir=True else: lista.append(numero) lista.sort(reverse=True) #ordena la lista print(lista) |
6) Pide una cadena por teclado, mete los caracteres en una lista sin espacios.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#!/usr/bin/python3 cadena = input("Dame una cadena: ") print(cadena) lista = [] for c in cadena: if(c != ' '): lista.append(c) print(lista) |
7) Pide una cadena por teclado, mete los caracteres en una lista sin repetir caracteres.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#!/usr/bin/python3 cadena = input("Dame una cadena: ") print(cadena) lista = [] for c in cadena: if(c not in lista): lista.append(c) print(lista) |
8) Crea una tupla con números, pide un numero por teclado e indica cuantas veces se repite.
—- 1º forma —-
|
1 2 3 4 5 6 7 8 9 10 11 12 |
#!/usr/bin/python3 numeros = (5,4,3,2,1,6,45,3,6,6,6,6,6) numero = int(input("Dame un numero: ")) contador= 0 for i in numeros: if numero == i: contador = contador + 1 print ("Hay ",contador," repeticion/es") |
—- 2º forma —-
|
1 2 3 4 5 6 7 |
#!/usr/bin/python3 numeros = (7,6,5,4,3,2,3,4,5,1,4,3) numero = int(input("Dame un numero: ")) print("Numero de repeticiones: ",numeros.count(numero)) |
9) Crea una tupla con números e indica el numero con mayor valor y el que menor tenga.
—- 1º forma —-
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#!/usr/bin/python3 numeros = (5,4,3,-2,1,6,455,3,6,6,6,6,6) maximo = numeros[0] minimo = numeros[0] for i in numeros: if i > maximo: maximo = i if i < minimo: minimo = i print("El maximo es ",maximo) print("El minimo es ",minimo) |
—- 2º forma —-
|
1 2 3 4 5 6 7 |
#!/usr/bin/python3 numeros = (7,6,5,4,3,2,3,4,5,1,4,3) print("Maximo: ",max(numeros)) print("Minimo: ",min(numeros)) |
10) Crea un diccionario donde la clave sea el nombre del usuario y el valor sea el teléfono (no es necesario validar). Tendrás que ir pidiendo contactos hasta el usuario diga que no quiere insertar mas. No se podrán meter nombres repetidos.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#!/usr/bin/python3 agenda = {} salir = False while (not salir): #Pedimos los datos nombre=input("Introduce un nombre: ") telefono=int(input("Introduce un telefono: ")) #Comprobamos si esta dentro del diccionario if(nombre not in agenda): #Añadimos el contacto agenda[nombre] = telefono print('Añadido el contacto') else: print('El nombre esta repetido') #Indicamos si queremos salir respuesta = input("¿Quieres salir? (S/N)") if(respuesta == "S"): salir = True #Mostramos el diccionario print(agenda) |
11) Crea una tupla con valores ya predefinidos del 1 al 10, pide un índice por teclado y muestra los valores de la tupla.
|
1 2 3 4 5 6 7 8 9 10 |
#!/usr/bin/python3 tupla = (1,2,3,4,5,6,7,8,9,10) indice = int(input("Dame un indice: ")) if indice>=0 and indice<len(tupla): print(tupla[indice]) else: print("Indice no valido") |
12) Crea una lista vacía (pongamos 10 posiciones), pide sus valores y devuelve la suma y la media de los números.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#!/usr/bin/python3 lista = [] suma = 0 media = 0 numero = 0 for i in range(10): numero = int(input("Dame un numero: ")) lista.append(numero) suma += numero for i in lista: print(i) media = suma / len(lista) print("La suma es ",suma) print("La media es ",media) |
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
hola! necesito codificar cadenas en base a un diccionario, es decir si tengo el diccionario {1:’h’, 2:’o’, 3:’l’, 4:’a’} e ingreso la cadena ‘hola’ me devuelva como resultado ‘1234’, intenté hacerlo con un for » in »: …print (), pero creo no va por ahí, y la verdad es que soy bastante novata en esto de la programación. Espero puedan ayudarme pronto! Gracias!!!
Hola! Cuando meto uno de tus ejercicios en python, el noveno, «<» el «;» me da error. Por que?
Muy completo y gracias por la publicación
saludos y gracias por estos ejercicios,
en el ejercicio 2. cuando eliges el numero 1 no lo reconoce. lo pude corregir cambiando bajo el else: if(numero>0 and numero<=len(meses))
Hola,
Me podrías explicar este ejercicio, el número 2. No llego a entender bien el uso de la variable Salir=False y Salir=True
Gracias, los ejercicios están genial.
cuando haces un bucle while «x»-> tiene que ser True. al decir que es «x» es false, le estaría diciendo al bucle while que pare.
Pero al decirle que ejecute el bucle while mientras no sea «x», le estaría diciendo que es True y cuando cambia el valor o actualiza le estaría diciendo que «x» no es True por lo que es False
GRACIAS POR LA BUENA INFORMACION LES DESEO LO MEJOR