0% encontró este documento útil (0 votos)
3 vistas13 páginas

Ejercicios de Python para Principiantes

Este documento contiene numerosos ejercicios de programación en Python con sus enunciados detallados. Los ejercicios abordan conceptos variados como las variables, los operadores, las estructuras de control, las funciones, las estructuras de datos y su manipulación.

Traducido por

ScribdTranslations
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)
3 vistas13 páginas

Ejercicios de Python para Principiantes

Este documento contiene numerosos ejercicios de programación en Python con sus enunciados detallados. Los ejercicios abordan conceptos variados como las variables, los operadores, las estructuras de control, las funciones, las estructuras de datos y su manipulación.

Traducido por

ScribdTranslations
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

MEDIDAS FÍSICAS 1è año 2010 – 2011

InformáticaCientífica versión2.2

Python3
Ejercicios corregidos
Enunciados

Enunciados de los ejercicios

Observación
Los siguientes ejercicios se proporcionan como ejemplos y modelos.
Son simples o menos simples (calificados◃ en el margen) sean difíciles (calificados◃◃).

Los guiones del curso


Curso no1 : « Primeros pasos en Python »

1. Asigne las variables y por los valores 6.892 y 19.7.


Calcule y muestre el valor de la velocidad.
Mejore la visualización imponiendo un dígito después del punto decimal.

2. Ingrese un nombre y una edad utilizando la instrucción Les aficher.


Refacer la entrada del nombre, pero con la instrucción El afiche.
Por fin, utiliza la « buena práctica »: rehacer el ejercicio transcribiendo las entradas
efectuadas con la instrucción

Curso no2 : « Control del flujo de instrucciones »


1. Introduzca un número decimal. Si es positivo o cero, muestre su raíz, de lo contrario muestre un mensaje.
de error.

2. El orden lexicográfico es el del diccionario.


Ingrese dos palabras, compárelas para encontrar la "más pequeña" y muestre el resultado.
Refacer el ejercicio utilizando la instrucción ternaria:

3. Se desea asegurar un recinto presurizado.


Se establece una presión umbral y un volumen umbral: , .
Se solicita introducir la presión y el volumen actual de la cámara y escribir un script
qui simule le comportement suivant :
– si el volumen y la presión son superiores a los umbrales: parada inmediata;
– si sólo la presión es superior a la presión umbral: pedir que se aumente el vo-
luz del recinto;
– si solo el volumen es superior al volumen umbral: pedir que disminuyan el volumen
del recinto ;
– o declarar que « todo va bien ».
Este comportamiento será implementado por una alternativa múltiple.

BC v2.1 -1- 2008 - 2009


Enunciados

4. Inicializa dos enteros: y .


Escribir un bucle que muestre e incremente el valor mientras siga siendo menor
a la de .
Escribir otro bucle que decremente el valor de y muestre su valor si es
impaire. Boucler tant que b n’est pas nul.

5. Escribir una entrada filtrada de un entero en el intervalo de 1 a 10, límites incluidos. Mostrar
la captura.

6. Muestra cada carácter de una cadena utilizando un bucle .


Muestre cada elemento de una lista utilizando un bucle .

7. Muestra los enteros del 0 al 15 sin incluir, de tres en tres, utilizando un bucle
y la instrucción .

8. Utiliza la instrucción para interrumpir un bucle de visualización de enteros


de 1 a 10 incluido, cuando la variable del bucle vale 5.

9. Utiliza la instrucción para modificar un bucle d’affichage de tous en-


terceros de 1 a 10 inclusive, excepto cuando la variable de bucle vale 5.

10. Utiliza una excepción para calcular, en un bucle que evoluciona de -3 a 3 inclusive, la
valor de sin(x)/x.

11. La cláusula bucles. En este ejercicio, realiza las entradas con unos
y las exhibiciones con unos , ambos pertenecen al módulo .
Inicializa una lista con 5 enteros de tu elección y luego ingresa un entero.
En un bucle for, recorre la lista. Si el entero ingresado pertenece a la lista, guárdalo.
y detiene el bucle (ya que lo has encontrado). Si el bucle ha terminado correctamente,
utiliza una cláusula para mostrar un mensaje anunciándolo.
Ingrese ahora otro entero, esta vez positivo.
Escribe un bucle para determinar si este entero es primo. Si no lo es,
el bucle deberá mostrar el primer divisor encontrado y detenerse. Si es primo,
lo exhibir en una cláusula .

Curso no3 : « Las funciones »


1. Escribir un procedimiento con cuatro parámetros: , , y .
Este procedimiento debe mostrar la tabla de , de à , de en .
Probar el procedimiento con una llamada en el programa principal.

2. Escribir una función que devuelve el cubo de su argumento.

2008 - 2009 -2- BC v2.1


Enunciados

Escribir una función que calcula el volumen de una esfera de radio proporcionado
en argumento y que utiliza la función .
Probar la función por una llamada en el programa principal.

3. Escribir una función qui retournef(x)= 2x3+ x− 5. ▹


Escribir un procedimiento con cuatro parámetros : , ,
y . Este procedimiento muestra los valores de , de à ,
todos los . Ella debe respetar< borneSup.
Probar este procedimiento con una llamada en el programa principal después de haber ingresado los
dos bornes en una y el número de pasos en una (utiliza el
módulo ).

4. Escribir una función que devuelve el volumen y la masa de un el-


lipsoide gracias a una tupla. Los parámetros son los tres semiejes y la masa volu-
mique. Se les darán valores por defecto a estos cuatro parámetros.
4
On donne :v= 3 πabc
Pruebe esta función con diferentes números de argumentos.

5. Escribir una función con un argumento « tupla de longitud variable » que calcula
la suma de los números contenidos en la tupla.
Probar esta función con llamadas utilizando diferentes tuplas de enteros o flotantes.

6. Escribir otra función con tres argumentos, y que devuelve su suma.


En el programa principal, definir una tupla de tres números, luego use la sin-
impuesto de apelación a la función que descomprime la tupla. Muestra el resultado.

7. Escribir una función con un argumento « diccionario de longitud va-


variable », y que muestra su argumento.
En el programa principal, define un diccionario, luego usa la sintaxis de llamada
a la función que descomprime el diccionario. Muestra el resultado.

Curso no4 : « Estructuras de datos de Python »

1. définir la liste : , luego realiza las siguientes acciones:


– clasifique y muestre la lista;
– agrega el elemento 12 a la lista y muestra la lista ;
– invierta y muestre la lista;
– adjunte el índice del elemento 17;
– quiten el elemento 38 y muestren la lista;
– exhiba la sublista del 2eau 3eelemento
– affiche la sublista del inicio al 2eelemento
– affichez la sous-liste du 3 eelemento al final de la lista;
– coloque la sublista completa de la lista;

BC v2.1 -3- 2008 - 2009


Enunciados

– muestra el último elemento utilizando un índice negativo.

Es importante señalar que algunos métodos de lista no devuelven nada.

2. Inicializa como una lista vacía, y como una lista de cinco flotantes nulos.
Afiche estas listas.
Utiliza la función para mostrar:
los enteros de 0 a 3;
los enteros de 4 a 7;
Los enteros del 2 al 8 en pasos de 2.

Definir como una lista de enteros del 0 al 5 y prueba la pertenencia de los elementos
mentas 3 y 6 a .

3. Utiliza una lista por comprensión para agregar 3 a cada elemento de una lista de
niveles de 0 a 5.

4. Utiliza una lista por comprensión para añadir 3 a cada elemento de una lista de-
niveles de 0 a 5, pero solo si el elemento es mayor o igual a 2.

◃ 5. Utiliza una lista por comprensión para obtener la lista


a partir de las cadenas y .
Indicación: utiliza dos bucles imbriquées.

6. Utiliza una lista por comprensión para calcular la suma de una lista de enteros de 0
a 9.

7. Définir deux ensembles (sets) :X= {a,b,c,d} y= {s,b,d}, luego muestra los resultados
siguientes :
– los conjuntos iniciales ;
– la prueba de pertenencia del elemento àX;
– la prueba de pertenencia del elemento àY;
– los conjuntosX− AúnY− X;
– el conjunto X∪ Y(unión) ;
– el conjunto X∩ Y(intersección).

◃◃ 8. Escribir una función teniendo un argumento (una cadena de caracteres) y que


devuelve un diccionario que contiene la frecuencia de todas las palabras de la cadena ingresada.

9. El tipo diccionario (o tabla asociativa) permite representar tablas estructuradas.


turés. De hecho, a cada clave un diccionario asocia un valor, y este valor puede
ella misma ser una estructura de datos (lista, tupla o un diccionario...).

2008 - 2009 4 BC v2.1


Énoncés

Sea la siguiente tabla que representa información fisicoquímica sobre ele-


ments simples (temperatura de ebullición (Te ) y de fusión (Tf), numéro (Z) et masse
(M) atómico :

Te /Tf2970 1063
Au
Z/A79 196.967
Te /Tf2237 29.8
Ga
Z/A31 69.72

Atribuya los datos de esta tabla a un diccionario python de manera que pueda
escribir por ejemplo :

10. Implémentez une pile LIFO avec une liste.


Para ello, definir tres funciones:
que devuelve una pila a partir de una lista variable de elementos pasados como parámetro
metro
apila un elemento en "arriba" de la pila ;
Retira un elemento de la « cima » de la pila.

11. De la misma manera, implementa una cola FIFO con una lista. Intenta añadir▹
un menú de manipulación de la cola.

Consejo: No utilice más que procedimientos sin argumentos y una lista en variable global.

Curso no5 : Interludio : números perfectos y números afortunados


{"Définitions":"Definiciones"}

– On appellenombre premiertout entier naturel supérieur à 1 qui possède exactement


dos divisores, él mismo y la unidad;
Se llama divisor propio de , a un divisor cualquiera de , excluido ;
– un entier naturel est ditparfaits’il est égal à la somme de tous ses diviseurs propres ;
– los números tales como: (a+ n+ n 2 ) es primo para todo tal que 06n< (a− son
nombres de la suerte.

Escribir un módulo ( ) definiendo cuatro funciones : , ,


, y una autoevaluación :

• la función retorna la suma de los divisores propios de su argumento;


• las tres otras funciones verifican la propiedad dada por su definición y devuelven un
booleano. Más precisamente, si por ejemplo la función verifique que su argu-
ment es primero, ella regresa , de lo contrario regresa .

BC v2.1 -5- 2008 - 2009


Enunciados

La parte de prueba debe incluir cuatro llamadas a la función permitiendo probar


, , y .

Luego escribir el programa principal ( ) que incluye :


– la inicialización de dos listas : y ;
– un bucle de recorrido del intervalo [2,1000] incluyendo las pruebas necesarias para completar
ces listas ;
– en fin la exhibición de estas listas en cuadros de mensaje del módulo .

Curso no6 : « Módulos y archivos »

1. Escribir un módulo de cálculo de las raíces del trinomio real: ax2+ bx+ c.
El módulo define una función con los tres parámetros del trinomio, a, bet
c. La función debe retornar una tupla cuyo primer elemento es el número de raíces
del trinomio (0, 1 o 2), y los otros elementos son las raíces posibles.

Prueba tu función con los siguientes tres conjuntos de valores: 1,−3,2, 1,−2,1 y 1,1,1.

2. Escribir un programa principal utilizando el módulo anterior.


Los tres parámetros se ingresarán en una del módulo et les résultats
tats serán mostrados en una .

Curso no7 : « Programación Orientada a Objetos »

1. Definir una clase poseyendo los atributos siguientes:


datos: dos atributos de clases: y .
método : un método conteniendo un atributo de instancia y los affi-
chages de et de .

En el programa principal, instancie un objeto de la clase y lo invocáis


método .

2. Definir una clase con un constructor que proporciona las coordenadas mediante
defecto de un vector del plano (por ejemplo: y ).

En el programa principal, instancie un sin parámetro, un


con sus dos parámetros, y muéstralos.

3. Enriquece la clase anterior añadiendo un método de visualización


et une méthode de surcharge d’addition de deux vecteurs du plan.

En el programa principal, instancia dos , afíchelos y afíche su


suma.

2008 - 2009 -6- BC v2.1


Enunciados

Curso no8 : « Notiones de COO y encapsulamiento »

1. Definir una clase con un constructor que da valores ( y


) por defecto y un atributo , un método de visualización y
un método renunciando a la superficie de una instancia.

Definir una clase heredero de y que sobrecarga el atributo de instancia:


.
En el programa principal, instancia un y un et afifichez-les.

2. Definir una clase con un constructor que proporciona las coordenadas por defecto
de un punto del plano (por ejemplo : et ).

Definir una clase donde el constructor tiene cuatro parámetros: dos


para el origen y dos para el extremo. Este constructor define dos atributos:
et, instancias de la clase De esta manera, usted diseña una clase
composite: La clase est compuesta de dos instancias de la clase .
Añadir un método de exhibición.

En fin escribir una auto-prueba que muestre una instancia de Segment inicializada con los valores
1, 2, 3 y 4.

3. Definir una función fábrica renvoyer une fonction fermeture . ▹


a un argumento Ese código solo contiene la función aquí
ella también posee un argumento y cuyo código se limita a devolver
la suma : .
En el programa principal, crea dos funciones, por ejemplo
et, puis affichez y . les valeurs données par

4. Escribir una función que devuelva una instancia de clase. ▹


Definir una clase que contiene un método quien afiche .
Definir una clase conteniendo un método quien afiche .
En fin, definir la función fabrique avec un paramètre ini-
tialisé por defecto a . Si le paramètre est vérifié, le corps de la fonction renvoie une
instancia de la clase , de lo contrario devuelve una instancia de la clase .

En el programa principal, crea la instancia que desees a través de la fábrica.


Luego verifique su tipo llamando el método sobre él. .

BC v2.1 -7- 2008 - 2009


Enunciados

Scripts adicionales
1. Escribir un programa que, a partir de la entrada de un radio y una altura, calcule el
volumen de un cono recto.

2. Une boucle while : entrez un prix HT (entrez 0 pour terminer) et affichez sa valeur TTC.

3. Otra bucle while: calcula la suma de una serie de números positivos o nulos.
Comptez combien il y avait de données et combien étaient supérieures à 100.
Un número inferior o igual a 0 indica el fin de la secuencia.

4. El usuario da un número entero positivo y el programa muestra si es divisible por


2 y sinón.

[Link] usuario da un entero positivo y el programa anuncia cuántas veces de seguida


Este entero es divisible por 2.

◃ 6. El usuario proporciona un entero mayor que 1 y el programa muestra, si los hay, todos sus
divisores propensos a la repetición así como su número. Si no los hay, indica que él
est premier. Por ejemplo :

7. Escribir un programa que estime el valor de la constante matemática usando


la fórmula :
n 1
e= ∑ ¡ H o l a !
y o =0

Para ello, define la función factorial y, en tu programa principal, ingresa


sez l'ordrenet affichez l'approximation correspondante dee.

8. Un farero va al baño cinco veces al día, pero los inodoros están en la planta baja...
Escribir un procedimiento (por lo tanto, sin retorno) que recibe dos parámetros
el número de peldaños del faro y la altura de cada peldaño (en cm), y que muestra :

No olvidaremos:
– que una semana tiene 7 días ;
– que una vez abajo, el guardián debe subir;
– que el resultado está a expresar en m.

2008 - 2009 -8- BC v2.1


Enunciados

9. Un permiso de caza por puntos reemplaza ahora el permiso de caza tradicional.


Cada cazador comienza con un capital de 100 puntos. Si mata una gallina, pierde
1 punto, 3 puntos por un perro, 5 puntos por una vaca y 10 puntos por un amigo. El
el permiso cuesta 200 euros.
Escribir una función quien recibe el número de víctimas del cazador y quien devuelve
la suma adeudada.
Utiliza esta función en un programa principal que ingrese el número de víctimas
y que exhibe la suma que el cazador debe desembolsar.

10. Estoy atado a las vías en la estación de Arras. Escribir un programa que muestre una tabla
me permite conocer la hora a la que seré destrozado por el tren que partió de
la estación del Norte a las 9h (hay 170 km entre la estación del Norte y Arras).
La tabla predecirá las diferentes horas posibles para todas las velocidades de 100 km/h
a 300 km/h, por pasos de 10 km/h, los resultados se redondean a la minuto inferior.
– Escribir un procedimiento quién recibe la velocidad del tren y quién muestra la hora
del drama;
– escribir el programa principal que muestre el arreglo solicitado.

11. Un programa principal ingresa una cadena de ADN válida y una secuencia de ADN va-▹
lide (« valide » significa que no están vacíos y están formados exclusivamente de una
combinación arbitraria de , , tú ).
Escribir una función que devuelve verdadero si la entrada es válida, falso en caso contrario.
Escribir una función quien realiza una entrada válida y devuelve el valor ingresado bajo
forma de una cadena de caracteres.
Escribir una función que recibe dos argumentos, la cadena y la secuencia y
que devuelve la proporción de secuencia en la cadena (es decir, su número de oc-
currencias).
El programa principal llama a la función para la cadena y para la secuencia
et affiche le résultat.
Ejemplo de visualización:

12. Se trata de escribir, por un lado, un programa principal, y por otro lado, una función
leído en el programa principal.
El usuario llena una tabla deN= 100 enteros con enteros aleatorios en utili-
sin una función a,b que devuelve un entero entre a y b− 1. Una función
nombrada recibe este tablero y devuelve el índice de la casilla que contiene
el mínimo.
Escribir la función .
Escribir el programa que intercambia el primer elemento del arreglo con el mínimo de
este cuadro.

13. Un tableautabcomporteN= 100 variables flotantes, de las cuales las primeras (n< 100)
son utilizadas.

BC v2.1 -9- 2008 - 2009


Énoncés

Escribir una función quién devuelve el índice del flotante más grande entre
cesn, y otra que devuelve el índice del más pequeño.
Escribir a continuación un programa principal que realice las siguientes acciones:
– entrada filtrada (debe asegurarse de que no se pueda ingresar fuera de sus
limites) ;
– llenado aleatorio de los primeros valores del tab (se utilizará el módulo ,
sin argumentos, que devuelve un flotante aleatorio entre 0.0 y+1.0)
– visualización de la amplitud de la tabla (diferencia entre su mayor y su menor valor)
leur) ;
– visualización de la media de las primeras valores de incs.

14. Escribir una función que recibe dos parámetros, una temperatura y un entero
, y que devuelve la conversión Celsius→ Fahrenheit (= 1), o Fahrenheit→ Celsius
( = 2).
Recordatorio: TF= 32+ 1.8× TC

15. Función que devuelve múltiples valores en forma de tupla.


Escribir una función que recibe una lista de enteros y devuelve el mínimo,
el máximo y la media de esta lista. El programa principal llamará a esta función
acción con la lista: .

16. Ingresar un entero entre 1 y 3999 (¿por qué esta limitación?). Mostrarlo en número ro-
principal.

◃ 17. Mejorar el script anterior utilizando la función .

◃ 18. Un tableau contient des entiers (2< n< 100), todos comprendidos entre 0 y 500. Verificar que ellos
son todos diferentes.

19. El usuario da un entero entre 2 y 12, el programa da el número de maneras


de fairenen lanzando dos dados.

20. Mismo problema que el anterior pero con entre 3 y 18 y tres dados.

◃◃ 21. Generalización de las dos preguntas anteriores. El usuario introduce dos entradas, de una
parte el número de dados, nbd (que limitaremos prácticamente a 10), y por otro lado la
somme,s, comprende entrenbdet [Link]. El programa calcula y muestra el número
de maneras de hacer con las nbd des.

◃◃ 22. Mismo problema que el anterior pero codificado recursivamente.

2008 - 2009 -10- BC v2.1


Énoncés

23. Para hacer cálculos en matrices cuadradas, se puede utilizar el tipo 'lista de listas'
et indexar un elemento de la 3è línea y 4è columna parm[2][3] (teniendo en cuenta que los
los índices comienzan en 0).
Declaramos tres matrices cuadradas de dimensión N: m1, m2 y m3 que contienen enteros.
En affectem1, ligne à ligne, par lesN2premiers entiers pairs commençant à 2 ;m2 est
la matriz unidad, es decir, que contiene 1 en la diagonal principal (NO-SE)
y ceros por todas partes.
Prácticamente, nos limitaremos a Nmax= 10. Escribir el algoritmo para el cálculo de:

m3= m1− m2

BC v2.1 -11- 2008 - 2009

También podría gustarte