Giter VIP home page Giter VIP logo

pythoncourse's Introduction

Curso de Python

Índice

  1. Día 1
  2. Día 2
  3. Día 3
  4. Día 4

Contenido

  1. Día 1
  2. Ejercicio 1: potencias de 2

    Escribe un sencillo programa en Python, llamado ejercicio1.py, que muestre las siguientes potencias de 2, una por línea:

    21, 22, 23, 24, 25, 26, 27, 28

    Ejercicio 2: potencia de 2 elevado a un número

    Escribe un programa en Python, ejercicio2.py, que solicite al usuario cualquier valor entero, y muestre el valor de 2 elevado a esa potencia. El programa debería funcionar como se muestra en el siguiente ejemplo:

    ¿Qué potencia de 2?: 10
    	2 elevado a la potencia 10 es 1024

    Ejercicio 3: potenciación

    Escribe un programa de Python, llamado ejercicio3.py, que permita al usuario introducir una base entera y un exponente entero, y que muestre el valor de la base elevada a ese exponente. El programa debe funcionar como se muestra a continuación.

    ¿Qué base?: 10
    ¿Qué potencia de 10?: 4
    10 elevado a la potencia 4 es 10000

    Ejercicio 4: conversión de binario a base 10

    Escribe un programa Python, llamado ejercicio4.py, que permita al usuario introducir un número binario de cuatro dígitos y mostrar el valor en la base 10. Debe introducirse un dígito binario por línea, comenzando con el dígito más a la izquierda, como se muestra a continuación.

    Escribe el dígito más a la izquierda: 0
    Escribe el siguiente dígito: 1
    Escribe el siguiente dígito: 0
    Escribe el siguiente dígito: 1
    El valor binario 0101 es 5 en base 10

    Ejercicio 5: Número de rutas

    Escribe un programa de Python, llamado ejercicio5.py, que pida al usuario un cierto número de ciudades para el problema del viajante y que muestre el número total de rutas posibles que se pueden tomar. El programa debe funcionar como se muestra a continuación:

    ¿Cuántas ciudades? 10
    Para 10 ciudades, hay 3628800 rutas posibles

    Ejercicio 6. Estimación del número de años para resolver el problema del Viajante

    Desarrolla y prueba un programa de Python, llamado ejercicio6.py, que solicite al usuario un valor entero que indique el número de ciudades a resolver para el problema del viajante. El programa debe entonces mostrar el número de años que se necesitaría para resolver el problema usando un enfoque de fuerza bruta. Utiliza la función factorial del módulo math como se muestra en la figura 28. Supongamos que un ordenador puede calcular la longitud de un millón de rutas por segundo. A continuación se muestra una posible salida del programa:

    Escribe el número de ciudades: 20
    Número de rutas:  2432902008176640000
    Número de rutas por año: 31536000000000
    El tiempo necesario para resolver el problema del viajante
    para 20 ciudades es aproximadamente de 77146.81659616438 años.

    Ejercicio 7. Estimación del número de años para todas las jugadas del ajedrez

    Desarrolla y prueba un programa de Python, llamado ejercicio7.py, que determine cuántos años se necesitarían para que se jugaran todas las posibles partidas de ajedrez, si cada habitante de la Tierra (independientemente de su edad) jugara una partida de ajedrez al día. Datos aproximados:

    • La población mundial actual es de 7500 millones.
    • Hay 10120 posibles partidas de ajedrez.
    El número de años necesarios para jugar todas las partidas de ajedrez posibles
    si cada humano juega una sola partida al día, es de 3.6529680365296805e+107
  3. Día 2
    • Soluciones ejercicios 2
    • Ejercicio 1 — división de enteros

      Escribe un programa en Python (ejercicio2.1.py) que solicite al usuario dos valores enteros y que muestre el resultado del primer número dividido por el segundo, con exactamente dos decimales. El programa debería funcionar como se muestra en el siguiente ejemplo:

      Escribe el primer número entero: 34
      Escribe el segundo número entero: 27
      El cociente es:  1.26

      Ejercicio 2 — División de números reales (I)

      Escribe un programa en Python (ejercicio2.2.py) que solicite al usuario dos valores reales (en punto flotante) y que muestre el resultado del primer número dividido por el segundo, con exactamente seis posiciones decimales. El programa debería funcionar como se muestra en el siguiente ejemplo:

      Escribe el primer número real: 23.5
      Escribe el segundo número real: 4.6
      El cociente es: 5.108696

      Ejercicio 3 — División de números reales (II)

      Escribe un programa en Python (ejercicio2.3.py) que pida al usuario dos valores reales (punto flotante) y que muestre el resultado del primer número dividido por el segundo, con exactamente seis posiciones decimales mostradas en notación científica. El programa debería funcionar como se muestra en el siguiente ejemplo:

      Escribe el primer número real: 23.5
      Escribe el segundo número real: 4.6
      El cociente es: 5.108696e+00

      Ejercicio 2.4 — Letra en Unicode

      Escribe un programa de Python (ejercicio2.4.py) que pida al usuario que introduzca una letra mayúscula o minúscula y muestre la codificación Unicode correspondiente. El programa debería funcionar como se muestra en el siguiente ejemplo:

      Escribe una letra (mayúscula o minúscula): g
      El Unicode de la letra g es: 103

      Ejercicio 2.5 — Operaciones aritméticas

      Escribe un programa de Python (ejercicio2.5.py) que permita al usuario introducir dos valores enteros y mostrar los resultados cuando se les aplican los siguientes operadores aritméticos. Por ejemplo, si el usuario introduce los valores 7 y 5, la salida sería,

      7 + 5 = 12
      7 – 5 = 2
      7 * 5 = 35
      7 / 5 = 1.40
      7 // 5 = 1
      7 % 5 = 2
      7 ** 5 = 16,807

      Todos los resultados de coma flotante deben mostrarse con dos decimales de precisión. Además, todos los valores deben mostrarse con comas, cuando corresponda.

      Ejercicio 6. Perder la cabeza por el ajedrez

      Cuenta la leyenda que hace mucho tiempo reinaba en cierta parte de la India un rey llamado Sheram. En una de las batallas en las que participó su ejército perdió a su hijo, y eso le dejó profundamente consternado. Nada de lo que le ofrecían sus súbditos lograba alegrarle.

      Un buen día un tal Sissa se presentó en su corte y pidió audiencia. El rey la aceptó y Sissa le presentó un juego que, aseguró, conseguiría divertirle y alegrarle de nuevo: el ajedrez. Después de explicarle las reglas y entregarle un tablero con sus piezas el rey comenzó a jugar y se sintió maravillado: jugó y jugó y su pena desapareció en gran parte. Sissa lo había conseguido. Sheram, agradecido por tan preciado regalo, le dijo a Sissa que como recompensa pidiera lo que deseara.

      Sissa, inteligente, pidió un grano de trigo en el primer cuadrado, dos granos de trigo en el segundo cuadrado, cuatro granos de trigo en el tercer cuadrado, y así sucesivamente, duplicando la cantidad en cada cuadrado siguiente. El rey pensó que esto era una recompensa modesta para tal invención. Sin embargo, la cantidad total de trigo habría sido más de 1.000 veces la producción mundial actual. Cuando el rey se dio cuenta de que no podía cumplir su promesa, hizo que cortaran la cabeza a Sissa.

      Desarrolla y prueba un programa de Python que muestre el número de granos en cada fila (con comas como separadores de miles), el número de granos en total, y el peso total de todo el trigo en kilogramos, utilizando el hecho de que un grano de trigo pesa aproximadamente 0.04 gramos. El programa debería funcionar como se muestra en el siguiente ejemplo:

      Granos en fila 1:                            255
      Granos en fila 2:                         65,280
      Granos en fila 3:                     16,711,680
      Granos en fila 4:                  4,278,190,080
      Granos en fila 5:              1,095,216,660,480
      Granos en fila 6:            280,375,465,082,880
      Granos en fila 7:         71,776,119,061,217,280
      Granos en fila 8:     18,374,686,479,671,623,680
        Granos totales:     18,446,744,073,709,551,615
      Peso total del trigo: 737869762948382.12 kilogramos
      Peso total del trigo: 7.378698e+14 kilogramos

      Ejercicio 7

      Desarrolla y prueba un programa de Python (ejercicio2.7) que determine cuánto tiempo se tendría que emplear para descargar todas las palabras que se han hablado alguna vez. Toma como el tamaño de esta información 5x1018 (5 HB, el que se muestra en la figura 1 del tema Datos y Expresiones). Supongamos que cada palabra está codificada con 8 bits.

      La velocidad de descarga debe ser introducida por el usuario en millones de bits por segundo (1 Mbps = 1000000 bits por segundo). Para encontrar la velocidad de conexión real, utiliza este sitio web u otro similar,

      http://beta.speedtest.net/es

      Dado que las velocidades de conexión pueden variar, ejecuta esta prueba de velocidad de conexión tres veces. Toma el promedio de tres resultados, y utilízalo como la velocidad de conexión para entrar en su programa. Finalmente, determina cuál es la unidad de tiempo apropiada para expresar los resultados del programa (¿minutos?, ¿horas?, ¿días?, ...). El programa debería funcionar como se muestra en el siguiente ejemplo:

      ¿Velocidad de descarga (en Mbps)?: 96.25
      Años:  1.317810e+10 ( 13,178,095,369 )
      	<li><a name="ej3">Soluciones ejercicios 3</a></li>
      	<div id="content-main">
      

      Ejercicio 1 — Frutas (I)

      Escribe un programa Python (ejercicio3.1.py) en el que el usuario introduzca 'A', 'B' o 'C'. Si se introduce 'A', el programa debe mostrar:

      • la palabra 'Aguacate' si se introduce 'A' o 'a';
      • la palabra 'Banana' si se introduce 'B' o 'b'; y
      • la palabra 'Ciruela' si se introduce 'C' o 'c'.

      Utiliza las sentencias if anidadas en este ejercicio (ver figura 13 del documento Estructuras de Control).

      Ejercicio 2 — Frutas (II)

      Repite el ejercicio 1 utilizando una instrucción if con cabeceras elif. El archivo se debe llamar ejercicio3.2.py.

      Ejercicio 3 — Créditos Universitarios

      Escribe un programa de Python (ejercicio3.3.py) en el que un estudiante ingrese el número de créditos universitarios obtenidos. Si el número de créditos es mayor o igual a 90, se muestra 'Senior'; si es mayor o igual a 60, se muestra 'Junior'; si es mayor que o igual a 30, se muestra 'Segundo curso'; de lo contrario, se mostrará 'Primer curso'.

      Ejercicio 4 — Suma de números

      Escribe un programa en Python (ejercicio3.4.py) que sume una serie de enteros (positivos) introducidos por el usuario, excluyendo todos los números que sean mayores que 100. El programa finaliza cuando el usuario introduce un número negativo.

      Ejercicio 5 — Cuenta números

      Escribe un programa en Python (ejercicio3.5.py), en el que el usuario puede introducir cualquier número de valores enteros positivos y negativos, y que muestre el número total de valores positivos introducidos, así como el número total de valores negativos. El programa finaliza cuando el usuario introduce 'f'.

      Ejercicio 6 — Tabla de 100 números (I)

      Escribe un programa en Python (ejercicio3.6.py) que debe contener un par de bucles while anidados, y que muestre los valores enteros del intervalo [1, 100], diez números por fila, con las columnas alineadas como se muestra a continuación:

         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  29  30
        31  32  33  34  35  36  37  38  39  40
        41  42  43  44  45  46  47  48  49  50
        51  52  53  54  55  56  57  58  59  60
        61  62  63  64  65  66  67  68  69  70
        71  72  73  74  75  76  77  78  79  80
        81  82  83  84  85  86  87  88  89  90
        91  92  93  94  95  96  97  98  99 100

      Ejercicio 7 — Tabla de 100 números (I)

      Escribe un programa en Python (ejercicio3.7.py) que muestre los valores enteros del intervalo [1, 100] utilizando solamente un bucle while.

      Ejercicio 8 — El primer crédito

      Desarrolla y prueba un programa de Python (ejercicio3.8.py) que determine si un individuo cumple los requisitos para obtener un crédito de 8000 euros para comprar su primera vivienda. Los requisitos del crédito son:

      • el precio de la vivienda es menor de 800,000€;
      • los ingresos del solicitante no deben superar los 225,000€; y
      • el solicitante no ha poseído una residencia principal en los últimos tres años.
      § Ejemplos:
      Este programa determina si una persona cumple los requisitos para
      obtener un crédito de 8000 euros
      

      Escriba precio de compra: 1000000

      El precio de compra está limitado a 800000 €. En consecuencia, se deniega el crédito.

      Este programa determina si una persona cumple los requisitos para
      obtener un crédito de 8000 euros
      

      Escriba precio de compra: 180000 Escriba ingresos totales: 250000

      Sus ingresos exceden el máximo permitido de 225000 €. En consecuencia, se deniega el crédito.

      Este programa determina si una persona cumple los requisitos para
      obtener un crédito de 8000 euros
      

      Escriba precio de compra: 180000 Escriba ingresos totales: 20000 ¿Ha sido propietario de alguna vivienda anteriormente (s/n)? :n

      ¡ENHORABUENA! En base a la información proporcionada, ha conseguido Vd. el crédito solicitado.

      Este programa determina si una persona cumple los requisitos para
      obtener un crédito de 8000 euros
      

      Escriba precio de compra: 180000 Escriba ingresos totales: 20000 ¿Ha sido propietario de alguna vivienda anteriormente (s/n)? :s ¿Hace cuantos años que fue propietario de una vivienda?: 2

      No cumple los requisitos del crédito, ya que Vd. ha sido propietario de una vivienda en los 3 últimos años.

      Este programa determina si una persona cumple los requisitos para
      obtener un crédito de 8000 euros
      

      Escriba precio de compra: 180000 Escriba ingresos totales: 20000 ¿Ha sido propietario de alguna vivienda anteriormente (s/n)? :s ¿Hace cuantos años que fue propietario de una vivienda?: 6

      ¡ENHORABUENA! En base a la información proporcionada, ha conseguido Vd. el crédito solicitado.

      </ul>
      <li><b><a name="dia3">Día 3</a></b></li>
      <ul>
      	<li><a name="ej4">Soluciones ejercicios 4</a></li>
      	<div id="content-main">
      

      Ejercicio 1 — Lista de números (I)

      Escribe un programa Python (ejercicio4.1.py) que solicite al usuario una lista de números enteros, que almacene en una lista solamente los valores entre 1 y 100, y que muestre la lista resultante. La secuencia finaliza cuando el usuario pulsa <return> sin escribir ningún número.

      Ejercicio 2 — Lista de números (II)

      Escribe un programa Python (ejercicio4.2.py) que solicite al usuario una lista de números enteros, que almacene en una lista solamente los valores que están en una tupla denominada valores_validos, y que muestre la lista resultante. La secuencia finaliza cuando el usuario pulsa <return> sin escribir ningún número.

      Ejercicio 3 — Lista de números (III)

      Escribe un programa Python (ejercicio4.3.py) que solicite al usuario una lista de números enteros, y los almacene en una lista. Para todos los valores mayores que 100, se debe almacenar la cadena 'pasa' en lugar del número. El programa finaliza mostrando la lista resultante. La secuencia finaliza cuando el usuario pulsa <return> sin escribir ningún número.

      Ejercicio 4 — Lista de nombres (I)

      Escribe un programa en Python (ejercicio4.4.py) que solicite al usuario una lista de nombres y que los almacene en una lista. El programa debe mostrar cuantas veces aparee la letra 'a' en la lista generada. La secuencia finaliza cuando el usuario pulsa <return> sin escribir nada.

      Ejercicio 5 — Lista de nombres (II)

      Escribe un programa en Python (ejercicio4.5.py) que solicite al usuario una lista de nombres y que almacene en una lista solamente aquellos nombres cuya primera letra se encuentre también dentro de la palabra (por ejemplo, 'Ana'). El programa debe mostrar cuántas veces aparee la letra 'a' en la lista generada. La secuencia finaliza cuando el usuario pulsa <return> sin escribir nada.

      Ejercicio 6 — Lista ordenada de frutas

      Escribe un programa en Python (ejercicio4.6.py) que pida al usuario que introduzca tipos de fruta, y cuantos kilos hay de cada tipo. Los datos introducidos se deben almacenar en una lista en la que cada elemento es una sublista con el tipo de fruta y su peso. El programa debe mostrar la lista ordenada por el tipo de fruta, en la forma fruta, peso, y con un tipo de fruta en cada línea, como se muestra en el siguiente ejemplo:

      Tipo      Peso
      Manzanas   6 kgs.
      Peras     11 kgs.
      ...

      Ejercicio 7 — Dos listas de números

      Escribe un programa en Python (ejercicio3.7.py) que solicite al usuario números enteros para crear dos listas. El programa debe mostrar si las listas tienen la misma longitud (mismo número de elemento), si los números de cada lista suman el mismo valor, y si ambas listas comparten valores comunes.
    • Soluciones ejercicios 5
    • Ejercicio 1

      Escribe un programa Python (ejercicio5.1.py) con una función llamada buscaCero() a la que se le pasan tres enteros, y devuelve True si alguno de los enteros 0, y False en caso contrario.

      Ejercicio 2

      Escribe un programa Python (ejercicio5.2.py) con una función llamada ordenados(), a la que se le pasan 3 enteros, y devuelve True si los tres enteros están en orden creciente; en cualquier otro caso devuelve False.

      Ejercicio 3

      Escribe un programa Python (ejercicio5.3.py) con una función llamada modCount a la que se le pasa un entero positivo, n, and un segundo entero positivo, m, tal que m <= n, y devuelve cuántos números del intervalo entre 1 y n son divisibles por m.

      Ejercicio 4 — Hola Mundo

      Escribe un programa en Python (ejercicio5.4.py) con una función llamada HolaMundo() que muestre el mensaje "Hola mundo, mi nombre es nombre", para cualquier nombre que se le pase a dicha función.

      Ejercicio 5

      Escribe un programa en Python (ejercicio5.5.py) con una función llamada printAsteriscos(), a la que se le pasa un entero positivo, n, e imprime en pantalla una línea de n asteriscos. Si n es mayor que 75, solamente muestra 75 asteriscos.

      Ejercicio 6

      Escribe un programa en Python (ejercicio5.6.py) con una función llamada getContinue() que muestra al usuario el mensaje “¿Quiere continuar (s/n): ”,; el mensaje se repetirá hasta que el usuario teclee 's' o 'n' (tanto mayúsculas como minúsculas), y que devuelva 's' o 'n' en minúsculas.

      Ejercicio 7

      Escribe un programa en Python (ejercicio5.7.py) con una función llamada umbral(), a la que se le pasa una lista de números y un valor umbral, y devuelve la lista con todos los valores inferiores al umbral con valor 0. La lista debe ser modificada como efecto lateralde la función, y no a través del valor de retorno.

      Ejercicio 8

      Implementa la función umbral() del ejercicio 7 de forma que la lista modificada sea el valor de retorno de la función, en lugar de hacerlo como efecto lateral. (ejercicio5.8.py).

       

       

  4. Día 4
    • Soluciones ejercicios 6
    • Ejercicio 1

      Escribe un programa Python (ejercicio6.1.py) con un conjunto de instrucciones para controlar a la tortuga que dibuje una línea desde la esquina superior izquierda de la pantalla hasta la esquina inferior derecha, y desde la esquina superior derecha hasta la esquina inferior izquierda, formando así una gran X en el pantalla. No debe haber otras líneas dibujadas en la pantalla.

      Ejercicio 2

      Escribe un programa Python (ejercicio6.2.py) que utilice posicionamiento relativo para controlar a la tortuga, y que dibuje un triángulo equilatero en la pantalla.

      Ejercicio 3

      Escribe un programa Python (ejercicio6.3.py) que utilice posicionamiento relativo para controlar a la tortuga, y que dibuje una letra W.

      Ejercicio 4

      Escribe un programa en Python (ejercicio6.4.py) para controlar a la tortuga, y que dibuje tres círculos concéntricos de diferente color y anchura de línea..

      Ejercicio 5

      Escribe un programa en Python (ejercicio6.5.py) con un conjunto de instrucciones que fije la forma de la tortuga a turtle, y la mueva desde el fondo de la pantalla hacia la parte superior, haciendo cada vez más pequeña a medida que avanza.

      Ejercicio 6

      Escribe un programa en Python (ejercicio6.6.py) con un conjunto de instrucciones que mueva la tortuga con forma de la tortuga, y la mueva desde el fondo de la pantalla hacia la parte superior, cambiando su color cuando cruce el centro de la pantalla.

      Ejercicio 7

      Escribe un programa en Python (ejercicio6.7.py) con un conjunto de instrucciones para controlar la tortuga y generar un interesante diseño.

       

    • Soluciones ejercicios 7
    • Ejercicio 1

      Escribe una función llamada convertStatus() a la que se le pasa el código de estado 'f', 's', 'j' o 'r' y devuelve la cadena 'freshman', 'sophomore', 'junior' o 'senior', respectivamente. Diseña tu función de forma que si recibe una letra inapropiada, devuelva un valor de error. Asegúrate de incluir un docstring apropiado para la función. Escribe un programa Python (ejercicio7.1.py) con la función convertStatus() y el código necesario para probar el correcto funcionamiento de dicha función.

      Ejercicio 2

      Escribe una función llamada compruebaPalindromo() que utilice iteración para devolver True si una cadena proporcionada es un palíndromo, y False en caso contrario. Asegúrate de incluir la especificación docstring para la función. Escribe un programa Python (ejercicio7.2.py) con la función compruebaPalindromo() y el código necesario para probar el correcto funcionamiento de dicha función.

      Ejercicio 3

      Implementa un conjunto de funciones llamadas getDatos(), extraeValores() y calcRatios(). La función getDatos() debe solicitar al usuario que ingrese pares de enteros, dos por línea, con cada par leído como una sola cadena, por ejemplo,

      Introduce una par de enteros (pulsa Enter para finalizar):
      134 289 (leído como '134 289')
      etc

      Estas cadenas se deben pasar una a la vez mientras se leen pasar a la función extraeValor(), que está diseñada para devolver la cadena como una tupla de dos valores enteros,

      extraeValores('134 289')
      [...devuelve (134, 289)...]

      Finalmente, cada una de estas tuplas se pasa a la función calcRatios() para calcular y devolver el ratio de los dos valores. Por ejemplo,

      calcRatios((134, 289))
      [...devuelve 0.46366782006920415...]


      Implementa un programa completo (ejercicio7.3.py) que muestre una lista de ratios para una serie de pares de valores enteros ingresados por teclado. Asegúrate de incluir la especificación de docstring para cada una de las funciones.

      Ejercicio 4

      Crea un módulo Python, llamado misfunciones.py, con las funciones del ejercicio 3. Después, implementa un programa Python (ejercicio7.4.py), similar al del ejercicio anterior, pero que en lugar de definir las funciones las importe del módulo misfunciones.

       

pythoncourse's People

Contributors

jorgegomzar avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.