Explicación del uso de estructuras de datos tipo tuplas en Python 3.
Tupla
La última estructura que veremos son las tuplas. Éstas son un conjunto de elementos, que pueden ser de distintos tipos, separados por comas y escritos entre paréntesis, ().
Las tuplas son:
hetereogéneas: los elementos pueden ser de distinto tipo en una misma tupla
no mutables: los elementos no pueden ser modificados una vez la tupla ha sido creado
Un ejemplo de tupla sería:
t = ("Juan",32,"profesor",True)print(t)#RESPUESTA('Juan',32,'profesor',True)
Podemos declarar una tupla sin necesidad indicar sus elementos entre paréntesis
t ="Juan",32,"profesor",Truetype(t)#RESPUESTAtuple
Podemos declarar tuplas con la función tuple()
t =tuple(("Juan", 32, "profesor", True))type(t)#RESPUESTAtuple
tuple([1,2,3])#RESPUESTA(1,2,3)
EJERCICIO 1:
Vamos a pedirle al usuario el número de números enteros que va a introducir por teclado. Para cada uno de esos números, vamos a crear una tupla donde la primera entrada sea el número entero y, la segunda, la palabra "positivo", "negativo" o "cero" según el signo del número entero. Vamos a guardar todas las tuplas en una lista y las vamos a mostrar.
n =int(input("¿Cuántos números enteros vas a introducir? "))nums = []for _ inrange(n): sign ="" num =int(input())if num >0: sign ="positivo"elif num ==0: sign ="cero"else: sign ="negativo" nums.append((num, sign))print(nums)
EJERCICIO 2:
Vamos a pedirle al usuario números enteros del 1 al 10 hasta que introduzca el 0. Para cada uno de esos números, vamos a crear una tupla donde la primera entrada sea el número entero y, la segunda, la palabra "suspenso", "aprobado", "notable" o "excelente" según el intervalo al que pertenezca el número entero. Vamos a mostrar la tupla recién creada al usuario.
Las diferentes categorías son:
suspenso si la nota pertenece a [1, 5) aprobado si la nota pertenece a [5, 7) notable si la nota pertenece a [7, 9) excelente si la nota pertenece a [9, 10]
nota =1000while nota !=0: nota =int(input("Introduzca una nota numérica: "))if nota <1:print("Nota fuera de rango")elif nota >=1and nota <5: tupla = (nota,"suspenso")print(tupla)elif nota >=5and nota <7: tupla = (nota,"aprobado")print(tupla)elif nota >=7and nota <9: tupla = (nota,"notable")print(tupla)elif nota >=9and nota <=10: tupla = (nota,"excelente")print(tupla)else:print("Nota fuera de rango")
#RESPUESTA
Introduzca una nota numérica: 1
(1, 'suspenso')
Introduzca una nota numérica: 0
Nota fuera de rango
EJERCICIO 3:
Dada una frase introducida por el usuario, vamos a crear una lista con 3 tuplas de 2 entradas. La primera tupla contendrá el número de vocales; la segunda, el número de consonantes; y la última, el número de espacios en blanco. Para cada tupla, la primera entrada será un string explicativo y, la segunda, el valor correspondiente.
s =str(input("Introduzca una frase: "))s = s.lower()vocales =0consonantes =0espacios =0for i in s:if i =="a"or i =="e"or i =="i"or i =="o"or i =="u": vocales +=1elif i ==" ": espacios +=1else: consonantes +=1l = [ ("Número de vocales", vocales), ("Número de consonantes", consonantes), ("Número de espacios", espacios) ]print(l)type(l[0])
#RESPUESTA
Introduzca una frase: sdfg
[('Número de vocales', 0), ('Número de consonantes', 4), ('Número de espacios', 0)]
tuple
Elementos de una tupla
Podemos acceder a los elementos de una tupla mediante el índice que ocupan con la sintaxis de claudator, []
t =1,"a",2,"e",3,"i",4,"o",5,"u"print(t[0])print(t[5])#RESPUESTA1i
Al igual que con las listas, podemos acceder a los elementos de tuplas mediante el uso de índices negativos
print(t[-1])print(t[-4])#RESPUESTAu4
Para acceder a múltiples entradas de una tupla a la vez, podemos utilizar la función : para indicar un intervalo de índices.
el índice indicado tras los dos puntos, :, nunca es incluido.
si no se indica índice a la izquierda de :, se considera desde el índice 0 hasta el inmediatamente anterior al indicado a la derecha de :
si no se indica índice a la derecha de :, se considera desde el índice indicado a la izquierda de : hasta el último elemento
También podemos usar índices negativos con la función :
print(t[-5:-1])#RESPUESTA('i',4,'o',5)
Para saber si un elemento pertenece a una tupla, podemos usar la palabra clave in
print(6in t)print("i"in t)#RESPUESTAFalseTrue
Hemos dicho que las tuplas son inmutables. Esto es, una vez creada la tupla, sus elementos no pueden ser modificados
t ="Cereza","Manzana","Pera"t[1]="Kiwi"#RESPUESTATypeError:'tuple'object does not support item assignment
Una alternativa sería convertir a lista, realizar la modificación y reconvertir a tupla
t ="Cereza","Manzana","Pera"t =list(t)t[1]="Kiwi"t =tuple(t)print(t)print(type(t))#RESPUESTA('Cereza','Kiwi','Pera')<class'tuple'>
EJERCICIO 4:
Vamos a pedirle al usuario una asignatura ("Mates", "Lengua", "Historia", "Informática" o "Música") y la nota en dicha asignatura hasta que introduzca una asignatura diferente a las indicadas. El usuario puede repetir una asignatura tantas veces como quiera. La nota tendrá que ser del 1 al 10. Guardaremos la información (asignatura, nota) en una tupla. Las tuplas serán guardadas en una lista. Finalmente, para cada asignatura, vamos a mostrar la nota media.
asignaturas = ["Mates","Lengua","Historia","Informática" o "Música"]l = []n =str(input("Introduzca una asignatura de las siguientes (Mates, Lengua, Historia, Informática o Música): "))while n in asignaturas: nota =int(input("Introduzca la nota del 1 al 10: ")) l.append((n, nota)) n =str(input("Introduzca una asignatura de las siguientes (Mates, Lengua, Historia, Informática o Música): "))means ={"Mates": [],"Lengua": [],"Historia": [],"Informática": [],"Música": []}for item in grades: means[item[0]].append(item[1])print("\n=== NOTAS MEDIAS ===")for key, val in means.items():print("La nota media de {} es {}".format(key, "desconocida"iflen(val) ==0elsesum(val) /len(val)))
El método de unpacking
Podemos extraer los valores de una tupla en variables. Este proceso es conocido como unpacking.
fruits ="Cereza","Kiwi","Pera","Naranja"print(type(fruits))# Con paréntesis(fruit1, fruit2, fruit3, fruit4) = fruitsprint(fruit1)print(fruit2)print(fruit3)print(fruit4)
¡Cuidado! El número de variables debe coincidir con el número de elementos de la tupla. De lo contrario, debe usarse un asterisco para guardar los elementos restantes en una lista.
Observación. Si el asterisco es añadido en alguna variable que no sea la última, Python almacenará tantos elementos en la lista como sea necesario para que el número de elementos restantes coincida con el número de variables restantes.
Vamos a pedirle al usuario el número de puntos de un plano que quiere introducir. Para cada punto, vamos a solicitarle las coordenadas x e y. Guardaremos las coordenadas (x, y) en tuplas de tamaño 3, donde la última entrada se corresponde con el cuadrante al que pertenece dicho punto. Todas las tuplas de tamaño 3 serán guardadas en una lista. Finalmente, mostraremos todas las tuplas de tamaño 3 creadas, con el formato "El punto ({x}, {y}) pertenece al cuadrante {cuadrante}"
num =int(input("Introduzca el número de puntos que quiere introducir: "))l = []for i inrange(num): x =int(input("Introduzca la coordenada X del punto {}: ".format(i +1))) y =int(input("Introduzca la coordenada Y del punto {}: ".format(i +1)))if x >0and y >0: cuadrante ="cuadrante 1"elif x <0and y >0: cuadrante ="cuadrante 2"elif x <0and y <0: cuadrante ="cuadrante 3"elif x >0and y <0: cuadrante ="cuadrante 4"else: cuadrante ="cero" l.append((x, y, cuadrante))for item in l:print("El punto ({}, {}) pertenece al {}".format(item[0], item[1], item[2]))
#RESPUESTA
Introduzca el número de puntos que quiere introducir: 5
Introduzca la coordenada X del punto 1: 0
Introduzca la coordenada Y del punto 1: 0
Introduzca la coordenada X del punto 2: 1
Introduzca la coordenada Y del punto 2: 1
Introduzca la coordenada X del punto 3: -1
Introduzca la coordenada Y del punto 3: 1
Introduzca la coordenada X del punto 4: -1
Introduzca la coordenada Y del punto 4: -1
Introduzca la coordenada X del punto 5: 1
Introduzca la coordenada Y del punto 5: -1
El punto (0, 0) pertenece al cero
El punto (1, 1) pertenece al cuadrante 1
El punto (-1, 1) pertenece al cuadrante 2
El punto (-1, -1) pertenece al cuadrante 3
El punto (1, -1) pertenece al cuadrante 4
Concatenación de tuplas
Podemos concatenar tuplas con la función +, aunque el resultado será una nueva tupla, ya que recordemos éstas no pueden ser modificadas
t1 =1,3t2 =2,4t1 + t2#RESPUESTA(1,3,2,4)
Repetición de tuplas
Podemos repetir tuplas un número $n$ de veces con la función *
t = ("a","b","c")t *5#RESPUESTA('a','b','c','a','b','c','a','b','c','a','b','c','a','b','c')
Tamaño de una tupla
Podemos calcular el número de elementos de una tupla con la función len()
t ="Juan",32,"profesor",Truelen(t)#RESPUESTA4
¡Cuidado! Si quisiésemos crear una tupla de un solo elemento, tendríamos que hacer lo siguiente
t1 = ("manzana", )print(type(t1))# Lo siguiente no es una tuplat2 = ("manzana")print(type(t2))#RESPUESTA<class'tuple'><class'str'>
Bucles y tuplas
Podemos iterar una tupla utilizando un bucle for
fruits ="Cereza","Kiwi","Pera","Naranja","Melocotón","Sandía","Melón"for fruit in fruits:print(fruit)
También podemos usar la técnica de unpacking en los bucles
t = ("cereza","roja"), ("kiwi","amarillo"), ("pera","verde"), ("naranja","naranja")for fruit, color in t:if fruit =="kiwi":print("El color del", fruit, "es", color)else:print("La {} es {}".format(fruit, color))
#RESPUESTA
La cereza es roja
El color del kiwi es amarillo
La pera es verde
La naranja es naranja
Tuplas y el resto de estructuras de datos
Una tupla puede contener listas, diccionarios, conjuntos y tuplas
t = [4,5,6],{"vowels": ("a","e","i","o","u")},{1,2,3}, ("x","y")type(t)#RESPUESTAtuple
Asimismo,
las listas pueden contener diccionarios, conjuntos, tuplas y otras listas
los diccionarios pueden contener listas, conjuntos, tuplas y otros diccionarios
los conjuntos no pueden contener ni listas, ni diccionarios, ni tuplas, ni siquiera otros conjuntos
l = [{"vowels": ("a","e","i","o","u")},{1,2,3}, ("x","y"), [4,5,6]]type(l)#RESPUESTAlist
Dado cualquier objeto iterable en Python, lo podemos convertir a tupla con la función tuple()
print(tuple(l))# A partir de una listaprint(type(tuple(l)))print(tuple(dicc))# A partir de un diccionario solo se guardan las claves en la tuplaprint(type(tuple(dicc)))print(tuple({1, 2, 3, 4, 5}))# A partir de un conjuntoprint(type(tuple({1, 2, 3, 4, 5})))
¡Cuidado! Hay que crear de nuevo el objeto zip(), pues el resultado de esta función es un iterador y, una vez ha sido convertido a lista, diccionario o tupla, se considera una iteración completa y no será capaz de generar más valores.
Podemos convertir el resultado de una función zip() a una tupla:
#RESPUESTA
El objeto libreta cuesta 5.0 €.
El objeto pluma cuesta 3.3 €.
El objeto portaminas cuesta 1.29 €.
El objeto pack_minas cuesta 0.5 €.
EJERCICIO 6:
Dada una lista de palabras, vamos a crear otra lista del mismo tamaño que guarde la primera letra de cada palabra en la posición correspondiente. Por último, con la función zip() crearemos una tupla de tuplas con la palabra en la primera entrada y la letra con la que empieza, en la segunda.
words = ["ola","caracola","piña","playa","barbacoa","ventana","mosca"]first_letter = []for item in words: first_letter.append(item[0])print(tuple(zip(words, first_letter)))
#EJERCICIO 1:Pide al usuario el número de números enteros que va a introducir por teclado. Para cada uno de esos#números, crea una tupla donde la primera entrada sea el número entero y, la segunda, la palabra “par” o#“impar” según la paridad del número entero. Muestra la tupla recién creada al usuario.num =int(input("Introduzca la cantidad de números enteros que va a analizar: "))if num <0:print("El número no puede ser negativo")else:for _ inrange(num): n =int(input("Introduzca el número: "))if n %2==0: par ="par"else: par ="impar"print((n, par))
#RESPUESTA
Introduzca la cantidad de números enteros que va a analizar: 3
Introduzca el número: 1
(1, 'impar')
Introduzca el número: 2
(2, 'par')
Introduzca el número: 5
(5, 'impar')
#EJERCICIO 2: Dado un año proporcionado por el usuario, crea una tupla de dos elementos cuya primera entrada sea el año#y, la segunda entrada, el horóscopo chino correspondiente.year =int(input("Introduzca un año: "))if year %12==0: animal ="Mono"elif year %12==1: animal ="Pollo"elif year %12==2: animal ="Perro"elif year %12==3: animal ="Cerdo"elif year %12==4: animal ="Rata"elif year %12==5: animal ="Buey"elif year %12==6: animal ="Tigre"elif year %12==7: animal ="Conejo"elif year %12==8: animal ="Dragón"elif year %12==9: animal ="Serpiente"elif year %12==10: animal ="Caballo"else: animal ="Oveja"mitupla = (year, animal)print("El año {}, es según el horoscopo chino, el año del {}.".format(mitupla[0], mitupla[1]))
#RESPUESTA
Introduzca un año: 1925
El año 1925, es según el horoscopo chino, el año del Buey.
#EJERCICIO 3: Dada una frase proporcionada por el usuario, crea una lista de tuplas indicando palabra, longitud de cada#palabra, letra inicial y posición que ocupan dentro de la frases =str(input("Introduzca una frase: "))l = []s = s.split()for word in s: info = (word,len(word), word[0], s.index(word)+1) l.append(info)print(l)
#RESPUESTA
Introduzca una frase: Hola que ase
[('Hola', 4, 'H', 1), ('ase', 3, 'a', 2)]
#EJERCICIO 4: Haz que el usuario introduzca palabras hasta que introduzca una palabra vacía. Guarda todas las palabras#en una tupla y muestra la primera y la última introducidas haciendo uso del método unpacking.#PISTA: Para guardar los elementos de uno en uno vas a tener que utilizar un tipo de dato que no es tupla y luego transformarlo a tupla.item ="a"l = []while item !="": item =str(input("Introduzca una palabra. Para terminar, pulse enter: ")) l.append(item)palabras =tuple(l)inicio,*_, final, en_blancom = palabrasprint(inicio, final)
#RESPUESTA
Introduzca una palabra. Para terminar, pulse enter: Hola
Introduzca una palabra. Para terminar, pulse enter: caracola
Introduzca una palabra. Para terminar, pulse enter: eres
Introduzca una palabra. Para terminar, pulse enter: una
Introduzca una palabra. Para terminar, pulse enter: maricona
Introduzca una palabra. Para terminar, pulse enter:
Hola maricona
#EJERCICIO 5: Dada una lista de palabras, crea otra lista del mismo tamaño que guarde la longitud de cada palabra. Usa#la función zip() para crear un diccionario con claves las palabras y valores, su longitud.words = ["Hola","caracola","como","te","encuentras"]lon = []for item in words: lon.append(len(item))completo =dict(zip(words, lon))
#EJERCICIO 6: Haz que el usuario introduzca palabras hasta que introduzca una palabra vacía. Guarda todas las palabras#en una tupla y muestra la tupla y el número total de caracteres que ha introducido.#PISTA: Para guardar los elementos de uno en uno vas a tener que utilizar un tipo de dato que no es tupla y luego transformarlo a tupla.item ="a"l = []char =0while item !="": item =str(input("Introduzca una palabra. Para terminar, pulse enter: "))if item !="": l.append(item)for word in l: char +=len(word)print(tuple(l), char)
#RESPUESTA
Introduzca una palabra. Para terminar, pulse enter: ok
Introduzca una palabra. Para terminar, pulse enter: ok
Introduzca una palabra. Para terminar, pulse enter: ok
Introduzca una palabra. Para terminar, pulse enter: ok
Introduzca una palabra. Para terminar, pulse enter: k
Introduzca una palabra. Para terminar, pulse enter:
('ok', 'ok', 'ok', 'ok', 'k') 9
#EJERCICIO 7: Crea una lista de 20 tuplas de tamaño 2. La primera entrada será un número entero entre 1 y 20 y la segunda#entrada contendrá una lista con los 10 primeros múltiplos del número entero correspondiente. Por último,#muestra las tablas de multiplicar del 1 al 20 con el formato “1 x 1 = 1”l = []for i inrange(1, 21): mult = []for c inrange(11): mult.append(i * c) l.append((i, mult))print(l)for x, y indict(l).items():print("+++TABLA DEL {}+++".format(x))for z inrange(11):print("{} x {} = {}".format(x, z, y[z]))
#RESPUESTA
[(1, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), (2, [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]), (3, [0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30]), (4, [0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40]), (5, [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50]), (6, [0, 6, 12, 18, 24, 30, 36, 42, 48, 54, 60]), (7, [0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70]), (8, [0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80]), (9, [0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90]), (10, [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]), (11, [0, 11, 22, 33, 44, 55, 66, 77, 88, 99, 110]), (12, [0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120]), (13, [0, 13, 26, 39, 52, 65, 78, 91, 104, 117, 130]), (14, [0, 14, 28, 42, 56, 70, 84, 98, 112, 126, 140]), (15, [0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150]), (16, [0, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160]), (17, [0, 17, 34, 51, 68, 85, 102, 119, 136, 153, 170]), (18, [0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180]), (19, [0, 19, 38, 57, 76, 95, 114, 133, 152, 171, 190]), (20, [0, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200])]
+++TABLA DEL 1+++
1 x 0 = 0
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
1 x 4 = 4
1 x 5 = 5
1 x 6 = 6
1 x 7 = 7
1 x 8 = 8
1 x 9 = 9
1 x 10 = 10
+++TABLA DEL 2+++
2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18
2 x 10 = 20
+++TABLA DEL 3+++
3 x 0 = 0
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27
3 x 10 = 30
+++TABLA DEL 4+++
4 x 0 = 0
4 x 1 = 4
4 x 2 = 8
4 x 3 = 12
4 x 4 = 16
4 x 5 = 20
4 x 6 = 24
4 x 7 = 28
4 x 8 = 32
4 x 9 = 36
4 x 10 = 40
+++TABLA DEL 5+++
5 x 0 = 0
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50
+++TABLA DEL 6+++
6 x 0 = 0
6 x 1 = 6
6 x 2 = 12
6 x 3 = 18
6 x 4 = 24
6 x 5 = 30
6 x 6 = 36
6 x 7 = 42
6 x 8 = 48
6 x 9 = 54
6 x 10 = 60
+++TABLA DEL 7+++
7 x 0 = 0
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35
7 x 6 = 42
7 x 7 = 49
7 x 8 = 56
7 x 9 = 63
7 x 10 = 70
+++TABLA DEL 8+++
8 x 0 = 0
8 x 1 = 8
8 x 2 = 16
8 x 3 = 24
8 x 4 = 32
8 x 5 = 40
8 x 6 = 48
8 x 7 = 56
8 x 8 = 64
8 x 9 = 72
8 x 10 = 80
+++TABLA DEL 9+++
9 x 0 = 0
9 x 1 = 9
9 x 2 = 18
9 x 3 = 27
9 x 4 = 36
9 x 5 = 45
9 x 6 = 54
9 x 7 = 63
9 x 8 = 72
9 x 9 = 81
9 x 10 = 90
+++TABLA DEL 10+++
10 x 0 = 0
10 x 1 = 10
10 x 2 = 20
10 x 3 = 30
10 x 4 = 40
10 x 5 = 50
10 x 6 = 60
10 x 7 = 70
10 x 8 = 80
10 x 9 = 90
10 x 10 = 100
+++TABLA DEL 11+++
11 x 0 = 0
11 x 1 = 11
11 x 2 = 22
11 x 3 = 33
11 x 4 = 44
11 x 5 = 55
11 x 6 = 66
11 x 7 = 77
11 x 8 = 88
11 x 9 = 99
11 x 10 = 110
+++TABLA DEL 12+++
12 x 0 = 0
12 x 1 = 12
12 x 2 = 24
12 x 3 = 36
12 x 4 = 48
12 x 5 = 60
12 x 6 = 72
12 x 7 = 84
12 x 8 = 96
12 x 9 = 108
12 x 10 = 120
+++TABLA DEL 13+++
13 x 0 = 0
13 x 1 = 13
13 x 2 = 26
13 x 3 = 39
13 x 4 = 52
13 x 5 = 65
13 x 6 = 78
13 x 7 = 91
13 x 8 = 104
13 x 9 = 117
13 x 10 = 130
+++TABLA DEL 14+++
14 x 0 = 0
14 x 1 = 14
14 x 2 = 28
14 x 3 = 42
14 x 4 = 56
14 x 5 = 70
14 x 6 = 84
14 x 7 = 98
14 x 8 = 112
14 x 9 = 126
14 x 10 = 140
+++TABLA DEL 15+++
15 x 0 = 0
15 x 1 = 15
15 x 2 = 30
15 x 3 = 45
15 x 4 = 60
15 x 5 = 75
15 x 6 = 90
15 x 7 = 105
15 x 8 = 120
15 x 9 = 135
15 x 10 = 150
+++TABLA DEL 16+++
16 x 0 = 0
16 x 1 = 16
16 x 2 = 32
16 x 3 = 48
16 x 4 = 64
16 x 5 = 80
16 x 6 = 96
16 x 7 = 112
16 x 8 = 128
16 x 9 = 144
16 x 10 = 160
+++TABLA DEL 17+++
17 x 0 = 0
17 x 1 = 17
17 x 2 = 34
17 x 3 = 51
17 x 4 = 68
17 x 5 = 85
17 x 6 = 102
17 x 7 = 119
17 x 8 = 136
17 x 9 = 153
17 x 10 = 170
+++TABLA DEL 18+++
18 x 0 = 0
18 x 1 = 18
18 x 2 = 36
18 x 3 = 54
18 x 4 = 72
18 x 5 = 90
18 x 6 = 108
18 x 7 = 126
18 x 8 = 144
18 x 9 = 162
18 x 10 = 180
+++TABLA DEL 19+++
19 x 0 = 0
19 x 1 = 19
19 x 2 = 38
19 x 3 = 57
19 x 4 = 76
19 x 5 = 95
19 x 6 = 114
19 x 7 = 133
19 x 8 = 152
19 x 9 = 171
19 x 10 = 190
+++TABLA DEL 20+++
20 x 0 = 0
20 x 1 = 20
20 x 2 = 40
20 x 3 = 60
20 x 4 = 80
20 x 5 = 100
20 x 6 = 120
20 x 7 = 140
20 x 8 = 160
20 x 9 = 180
20 x 10 = 200
#EJERCICIO 8: Pide al usuario dos números enteros por teclado. Asegúrate de que el primero es mayor o igual al segundo.#Realiza la división entera y guarda en una tupla el dividendo, el divisor, el cociente y el resto de la divisón#entera realizada y muéstrale al usuario el resultado por pantallax =float(input("Introduzca el dividendo: "))y =float(input("Introduzca el divisor: "))if y > x:print("El divisor no puede ser más grande que el dividendo.")else: resultado = (x, y, x // y, x % y)print(resultado)
#RESPUESTA
Introduzca el dividendo: 5
Introduzca el divisor: 2
(5.0, 2.0, 2.0, 1.0)
#EJERCICIO 9: Pide al usuario números entre 0 y 360. Para cada número, crea una tupla donde la primera entrada sea#dicho número y, la segunda, la medida angular correspondiente en radianes. Recuerda, 360◦ = 2πrad. En#este caso, utiliza π = 3.141592653589793pi =3.141592653589793num =float(input("Introduzca un ángulo en grados (entre 0 y 360): "))if num <0or num >360:print("El ángulo no es adecuado")else: conversion = (num, (num *2* pi) /360)print(conversion)
#RESPUESTA
Introduzca un ángulo en grados (entre 0 y 360): 180
(180.0, 3.141592653589793)
#EJERCICIO 10: Pide al usuario números complejos. Para cada número, crea una tupla donde la primera entrada sea dicho número complejo, la segunda, su opuesto y, la tercera, su conjugadoa =int(input("Introduzca la parte real del número complejo: "))j =int(input("Introduzca la parte compleja del número complejo: "))z =complex(a, j)resultado = (z,-z, z.conjugate())print(resultado)
#RESPUESTA
Introduzca la parte real del número complejo: 1
Introduzca la parte compleja del número complejo: 5
((1+5j), (-1-5j), (1-5j))