Cuaderno Ejercicios Resueltos Python PDF

Title Cuaderno Ejercicios Resueltos Python
Author Pablo Bouzada
Course Informática para a Enxeñaría
Institution Universidade de Vigo
Pages 99
File Size 1.6 MB
File Type PDF
Total Downloads 46
Total Views 161

Summary

Ejercicios ...


Description

EEI

Cuaderno de Ejercicios de Python INFORMÁTICA PARA LA INGENIERIA

Introducción a Python ................................................................................................................... 2 Estructuras de Control. Decisión. if..else....................................................................................... 6 while… else .................................................................................................................................. 11 Estructuras de control. for..in...................................................................................................... 16 Tratamiento de excepciones ....................................................................................................... 26 Cadenas ....................................................................................................................................... 28 Listas ............................................................................................................................................ 37 Matrices ....................................................................................................................................... 48 Tuplas .......................................................................................................................................... 56 Conjuntos (Sets)........................................................................................................................... 58 Funciones..................................................................................................................................... 60 Diccionarios ................................................................................................................................. 70 Ficheros ....................................................................................................................................... 73 GUI ............................................................................................................................................... 80

1

Introducción a Python Media de dos números [email protected] #========================== ENUNCIADO ===================================================== Escriba un programa que pida dos números y que escriba su media aritmética. la media aritmética de dos números es la suma de ambos números dividida por 2. #========================================================================================== print("CÁLCULO DE LA MEDIA DE DOS NÚMEROS") numero_1 = float(input("Escriba un número: ")) numero_2 = float(input("Escriba otro número: ")) media = (numero_1+numero_2) / 2 print("La media de {} y {} es {}".format(numero_1,numero_2,media)) ''' Es posible ahorrarse la variable auxiliar media y escribir directamente el cálculo en la respuesta. ''' print("CÁLCULO DE LA MEDIA DE DOS NÚMEROS") numero1 = float(input("Escriba un número: ")) numero2 = float(input("Escriba otro número: ")) print("La media de {} y {} es {}".format(numero1,numero2,(numero1+numero2)/2)) resultado: CÁLCULO DE LA MEDIA DE DOS NÚMEROS Escriba un número: 100 Escriba otro número: 5 La media de 100.0 y 5.0 es 52.5

Índice de Masa Corporal [email protected] #========================== ENUNCIADO ===================================================== Escriba un programa que pida el peso (en kilogramos) y la altura (en metros) de una persona y que calcule su índice de masa corporal (imc). El imc se calcula con la fórmula imc = peso / altura #========================================================================================== print("CÁLCULO DEL ÍNDICE DE MASA CORPORAL (IMC)") peso = float(input("¿Cuánto pesa? ")) altura = float(input("¿Cuánto mide en metros? ")) #distintas maneras de calcular imc. imc = peso / altura**2 imc = peso / pow(altura, 2) imc = peso / (altura*altura) print("Su imc es {}".format(round(imc, 1))) print("Un imc muy alto indica obesidad. Los valores \"normales\" de imc están") print("entre 20 y 25, pero esos límites dependen de la edad, del sexo, de la") print("constitución física, etc.")

2

resultado: CÁLCULO DEL ÍNDICE DE MASA CORPORAL (IMC) ¿Cuánto pesa? 78 ¿Cuánto mide en metros? 1.73 Su imc es 26.1 Un ímc muy alto indica obesidad. Los valores "normales" de imc están entre 20 y 25, pero esos límites dependen de la edad, del sexo, de la constitución física, etc

Pies y pulgadas a cm [email protected] #========================== ENUNCIADO ===================================================== Escriba un programa que pida una distancia en pulgadas y que escriba esa distancia en centímetros. Se recuerda que una pulgada son 2,54 cm.

#========================================================================================== print("CONVERTIDOR DE PULGADAS A CENTÍMETROS") pulgadas = float(input("Escriba una cantidad de pulgadas: ")) centimetros = pulgadas * 2.54 print("{} pulgadas son {} cm".format(pulgadas,centimetros)) resultado: CONVERTIDOR DE PULGADAS A CENTÍMETROS Escriba una cantidad de pulgadas: 9 9.0 pulgadas son 22.86 cm

Celsius a Fahrenheit [email protected] #========================== ENUNCIADO ===================================================== Escriba un programa que pida una temperatura en grados Celsius y que escriba esa temperatura en grados Fahrenheit. La relación entre grados Celsius (C) y grados Fahrenheit (F) es la siguiente: F = 1,8 * C + 32.

#========================================================================================== print("CONVERTIDOR DE GRADOS CELSIUS A GRADOS FAHRENHEIT") celsius = float(input("Escriba una temperatura en grados Celsius: ")) fahrenheit = 1.8*celsius + 32 print(celsius," ºC son ",fahrenheit, "ºF") resultado: CONVERTIDOR DE GRADOS CELSIUS A GRADOS FAHRENHEIT Escriba una temperatura en grados Celsius: 35 35.0 ºC son 95.0 ºF

3

Suma progresión aritmética [email protected] #========================== ENUNCIADO ===================================================== Sumar los n primeros términos de una progresión aritmética. La fórmula de la suma es:

฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀ (2 ฀฀ ฀฀฀฀฀฀฀฀฀฀฀฀฀฀1 + (฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀ − 1) ฀฀ ฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀) 2 #========================================================================================== ฀฀฀฀฀฀฀฀ =

print("SUMA DE LOS TÉRMINOS DE UNA PROGRESIÓN ARITMÉTICA") terminos = int(input("¿Cuantos términos quiere sumar? ")) primero = float(input("¿Cuál es el primer término? ")) diferencia = float(input("¿Cuál es la diferencia entre dos términos? ")) suma = terminos / 2 *(2* primero + (terminos - 1) * diferencia) print("La suma de los", terminos, "primeros términos de una progresión "\ "aritmética, cuyo primer término es ", primero, "y la diferencia "\ "entre los términos es", diferencia ," es ", suma) resultado: SUMA DE LOS TÉRMINOS DE UNA PROGRESIÓN ARITMÉTICA ¿Cuantos términos quiere sumar? 5 ¿Cuál es el primer término? 1 ¿Cuál es la diferencia entre dos términos? 2 La suma de los 5 primeros términos de una progresión aritmética, cuyo primer término es 1.0 y la diferencia entre los términos es 2.0, es 25.0

Expresiones Lógicas y relacionales [email protected] #========================== ENUNCIADO ===================================================== Pruebe las siguientes expresiones. #========================================================================================== True and True

False and False

True

False

not True and False

False and not False

False

False

not False and True

not False or False or not True

True

True

True and True or False

not False or not True or False

True

True

not False or not True and not False

True or False and False

True

False

b=7 not b> 5

l=1 not 2>= l

False

False

4

u=9 u != 3 True

o=7 not 8 != o False

b=0 b != 1

n=9 9 0

True

True

q=3 6 != q and 4 -7 and x = 7: print("Buen resultado de aprendizaje") if media = 5: print("Materia superada") else: print("Materia no superada") resultado: Nota de Nota de Alcanza Materia

teoría: 5 prácticas: 8 una media de: superada

6.50

Uso de estructuras condicionales anidadas. Estructura condicional múltiple. [email protected] Una vez analizadas las sentencias condicionales, veamos de qué modo se pueden anidar. Se trata, en este caso, de formar estructuras condicionales múltiples. En primer lugar, anidamos sin más sentencias if. #========================== ENUNCIADO ===================================================== Dadas dos notas, correspondientes a teoría y práctica, visualizar la nota media resultante y un mensaje señalando la calificación correspondiente (suspenso, aprobado, notable o sobresaliente). #========================================================================================== #Cálculo de la media y visualización de calificación teor=float(input("Nota de teoría: ")) prac=float(input("Nota de prácticas: ")) media=(teor+prac)/2 print("Alcanza una media de: {0:.2f} ".format(media), end="") #end="" evita el salto de linea en el print if media < 5: print("Suspenso") else: if media < 7: print("Aprobado") else: if media < 9: print("Notable") else: print("Sobresaliente") resultado: Nota de teoría: 8 Nota de prácticas: 5 Alcanza una media de:

7

6.50 Aprobado

#========================== ENUNCIADO ===================================================== vamos a responder al mismo enunciado anterior utilizando una forma compacta para estructuras condicionales múltiples: la sentencia elif. #========================================================================================== #Cálculo de la media y visualización de calificación teor=float(input("Nota de teoría: ")) prac=float(input("Nota de prácticas: ")) media=(teor+prac)/2 print("Alcanza una media de: {0:.2f} ".format(media), end="") if media < 5: print("Suspenso") elif media < 7: print("Aprobado") elif media < 9: print("Notable") else: print("Sobresaliente") resultado: Nota de teoría: 9 Nota de prácticas: 2.5 Alcanza una media de: 5.75 Aprobado

Uso de estructuras de decisión [email protected] #========================== ENUNCIADO ===================================================== Estamos listos para utilizar estructuras de decisión. Al enunciado anterior, le añadimos un requisito: para poder hacer la media y superar la materia, es necesario alcanzar un 4 en cada una de las notas (teoría y práctica). #========================================================================================== #Cálculo de la media con mínimo exigido y visualización de calificación teor=float(input("Nota de teoría: ")) prac=float(input("Nota de prácticas: ")) if teor >= 4 and prac >=4: media=(teor+prac)/2 print("Alcanza una media de: {0:.2f} ".format(media), end="") if media < 5: print("Suspenso") elif media < 7: print("Aprobado") elif media < 9: print("Notable") else: print("Sobresaliente") else: print("No se cumple el requisito para hacer la media. Suspenso")

8

resultado: Nota de teoría: 9 Nota de prácticas: 2.5 No se cumple el requisito para hacer la media. Suspenso

Uso de estructuras de decisión II. Gestión de menús. [email protected] #========================== ENUNCIADO ===================================================== Un último ejemplo para ilustrar un uso distinto de las estructuras de control condicionales: la gestión de menús. Una vez solicitados tres números, se presenta al usuario un menú que le permitirá elegir entre: visualizar los números tal y como fueron introducidos, visualizarlos en orden creciente o visualizarlos en orden decreciente. #========================================================================================== #Menú para la presentación de tres números num1=input("Primer número: ") num2=input("Segundo número: ") num3=input("Tercer número: ") print("¿Cómo deseas visualizar los números introducidos? \n1) Sin ordenar \n2) En orden creciente \n3) En orden decreciente") elijo=input("Elige una opción ") if elijo=="1": print(num1,num2,num3,sep=", ") elif elijo=="2": if num1num2: print(num3,num1,num2,sep=", ") else: print(num3,num2,num1,sep=", ") else: # error en la elección print("No has elegido ninguna de las opciones del menú")

9

resultado: Primer número: 5 Segundo número: 9 Tercer número: 2 ¿Cómo deseas visualizar los números introducidos? 1) Sin ordenar 2) En orden creciente 3) En orden decreciente Elige una opción 2 2, 5, 9

10

while… else Número de cifras que tiene un número entero. [email protected] #========================== ENUNCIADO ===================================================== Dado un número entero, decir cuántos dígitos tiene. #========================================================================================== #Cuantas cifras tiene un número entero #Pedir el númeroentero numero=int(input("Dame el número: ")) original=numero #Inicializar las variables contador=0 # Calcular el número de dígitos while numero>0: #Cálculo del número de cifras numero=numero//10 contador+=1 # Imprimir el resultado print(original, " tiene: ", contador, " cifra/s") resultado: Dame el número: 6667 tiene: 4

6667 cifra/s

Generar números entre dos límites. [email protected] #========================== ENUNCIADO ===================================================== Introducir dos números enteros por teclado. El programa debe: • •

Imprimir los números que hay entre ellos, empezando por el más pequeño, independientemente del orden introducido. Calcular y visualizar cuantos números hay, cuántos de ellos son pares y su suma.

#========================================================================================== # Introducir dos números por teclado. Imprimir los números que hay entre ellos # Empezando por el más pequeño. Contar cuantos hay y cuántos de ellos son pares. # Calcular la suma de los pares # Inicializar las variables a utilizar p = 0 cp = 0 c = 0 primer = 0 h = 0 #Pedir los números enteros Primer_numero = int(input('Primer numero: ')) Segundo_numero = int(input('Segundo numero: ') ) #Si el segundo número es mayor realizar intercambio if Primer_numero > Segundo_numero: primer = Segundo_numero h = Primer_numero else: primer = Primer_numero

11

h = Segundo_numero #Realizar los cálculos while primer < h: primer += 1 c += 1 print (primer), if primer%2 == 0: cp += 1 p += primer #Visualizar los resultados print ('\nEntre % i y %i hay %i numeros %i pares' % (Primer_numero, Segundo_numero, c, cp)) print ('La suma de los pares es %i' % p) resultado: Primer número: 2 Segundo numero: 9 3 4 5 6 7 8 9 Entre 2 y 9 hay 7 números siendo 3 pares La suma de los pares es 18 Explicación

• • • • • • •

Mediante el símbolo # se introduce los comentarios de un programa. Por ejemplo, el objetivo del programa. Inicializar las variables que se van a utilizar. Se piden los dos números enteros al usuario. Si el primer número es mayor que el segundo, se intercambian if Primer_numero > Segundo_numero:…). Se procede a generar los números comprendidos entre inferior y superior (while primer < h), llevando el conteo de los números generados ( c += 1) y verificando si es par (if primer%2 == 0:). Si es par, se lleva el conteo de los números pares y se realiza la suma de los números que fueron pares (cp += 1 p += primer). Visualiza los números introducidos, cuantos números pares hay, además de visualizar la suma de pares.

Suma de los cuadrados. [email protected] #========================== ENUNCIADO ===================================================== Introducir un número positivo entero y calcular la suma de sus cuadrados desde el número 1. #========================================================================================== # Suma de los primeros números cuadrados. numero=int(input( "Hasta que número quieres generar la suma de sus cuadrados: ")) #Inicializar las variables suma_cuadrado, numero_cuadrado=0,0 numero_calculo=1 while numero_calculo < numero+1 and numero >=0: # Elevo los números al cuadrado y los sumo numero_cuadrado=numero_calculo**2 numero_calculo+=1 suma_cuadrado+=numero_cuadrado

12

if numero_calculo==numero+1: # Cuando llego el último número imprimo los resultados print (numero_calculo-1, "La suma de sus cuadrados fue: ", suma_cuadrado) else: # Si el usuario tecleo un número menor o igual que 0 if numero_calculo == 1: print("Debes introducir un número mayor que 0 para realizar los cálculos") print('Fin de programa') resultado: Hasta que número quieres generar la suma de sus cuadrados: 6 6 La suma de sus cuadrados fue: 91 Fin de programa Explicación

• • • •

Pedir el número para calcular la suma de los cuadrados. Si el número es mayor que 1 realizar los cálculos (while numero_calculo < numero+1 and numero >=0:). Mensaje de error sino introdujo un número mayor que 0 (else se comprueba if numero_calculo == 1). Se imprime fin el programa.

Lanzamiento de un dado. [email protected] #========================== ENUNCIADO ===================================================== Preguntar al usuario un número comprendido entre 1-6 (números de un dado). Se debe contabilizar cuantas tiradas del dado se tienen que realizar para obtener el número que ha introducido el usuario. #========================================================================================== # Programa que genera número un número al azar # Importa la librería que genera números al azar from random import * #inicializa el contador de números generados contador=0 numero_salir=0 numero_adivinar= 7 numeros_generados="" #Pide el usuario un número while numero_adivinar < 1 or numero_adivinar > 6: #Pregunta al usuario un número numero_adivinar=int(input("Dame el número: ")) if numero_adivinar < 1 or numero_adivinar >6: print("el número debe estar entre 1 y 6 ") ''' Permite saber cuántas tiradas hay que realizar para que salga el número seleccionado por el usuario ''' while numero_salir != numero_adivinar: # Obtiene el número al azar numero_salir=randint (1,6) # Se incrementa el número de tiradas contador+=1 # Almacena los números generados numeros_generados+=str(numero_salir) + " " # Imprime el resultado print("Cantidad de tiradas", contador, " para salir: ", numero_adivinar) print ("Números generados: ", numeros_generados)

13

resultado: Dame el número: 6 Cantidad de tiradas 3 Números generados: 1

para salir: 3 6

6

Explicación

• • • •

Inicializar las variables y pedir un número al usuario gcomprendido entre 1-6. Se repite la tirada del dado(función dandint) hasta que el número generado sea igual al introducido por el usuario (while numero_salir != numero_adivinar). Se contabiliza el número de veces que se tiró el dado (contador) y los números de las diferentes tiradas (numeros_generados+=str(numero_salir) + " "). Se imprime el resultado.

Número de cifras que tiene un número entero (como si fuera letras). [email protected] #========================== ENUNCIADO ===================================================== Introducir un número entero, decir cuántas cifras tiene. #========================================================================================== # Cuantas cifras tiene un número entero numero=int(input("Dame el número: ")) #Cálculo el número de dígitos numero_cifras=len(str(numero)) print(numero, " tiene: ", numero_cifras, " cifra/s") resultado: Dame el número: 677 677 tiene: 3 cifra/s Explicación

• •

Calcular el número de cifras(numero_cifras=len(str(numero)). Imprimir el resultado (print(numero, " tiene: ", numero_cifras, " cifra/s").

Factor primo [email protected] #========================== ENUNCIADO ===================================================== Introducir un número entero mayor que uno, obtener su...


Similar Free PDFs