Skip to content

Instantly share code, notes, and snippets.

@map0logo
Created November 27, 2015 13:56
Show Gist options
  • Save map0logo/7d79da276a4fea056659 to your computer and use it in GitHub Desktop.
Save map0logo/7d79da276a4fea056659 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Curso de Nivelación Computación\n",
"## Ejercicios 1\n",
"\n",
"### 1 Convierte de metros a unidades de longitud británicas\n",
"\n",
"Haz un programa en el que se introduce una longitud en metros y calcula y escribe la longitud\n",
"correspondiente medida en pulgadas, en pies, en yardas y en millas. Recuerda que una pulgada es 2,54\n",
"cm, un pie son 12 pulgadas, una yarda son 3 pies, y una milla británica son 1760 yardas. Para la\n",
"verificación, una longitud de 640 metros corresponde a 25196.85 pulgadas, 2099.74 pies, 699.91\n",
"yardas, o 0.3977 millas.\n",
"Nombre del archivo: `conversion_longitud.py`."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Convertidor de longitud\n",
"Introduzca una longitud en metros: 45\n",
"La longitud en metros es: 45.0 ,que corresponde a: 1771.65 pulgadas, 147.64 pies, 49.21 yardas, y 0.03 millas británicas\n",
"¿Quiere convertir otra cantidad? (si o no)-12\n"
]
}
],
"source": [
"# %load conversion_longitud.py\n",
"\"\"\"\n",
"Editor de Spyder\n",
"\n",
"Este es un archivo temporal\n",
"\n",
"Convertidor de longitud\n",
"\n",
"\"\"\"\n",
"def convert(X):\n",
" \"\"\"\n",
" Convierte los metros en pulgadas(P), en pies(I), en yardas(Y) y en millas británicas(M)\n",
" \"\"\"\n",
" P = round(X*39.37,2)\n",
" I = round(P/12,2)\n",
" Y = round(I/3,2)\n",
" M = round(Y/1760,2)\n",
" print(\"La longitud en metros es: \", X ,\",que corresponde a: \" ,P ,\" pulgadas, \" ,I, \" pies, \" ,Y ,\" yardas, y\" ,M, \" millas británicas\")\n",
"\n",
"def convertAgain():\n",
" \"\"\"\n",
" Esta función devuelve True si el usuario quiere convertir de nuevo, de otra manera devuelve False.\n",
" \"\"\"\n",
" return input(\"¿Quiere convertir otra cantidad? (si o no)\").lower().startswith('si')\n",
"\n",
"\n",
"print(\"Convertidor de longitud\")\n",
"while True:\n",
" \"\"\"\n",
" Este ciclo llama la funcion convert() y pregunta si el usuario desea hacer otra conversion\n",
" \"\"\"\n",
" X = float(input(\"Introduzca una longitud en metros: \"))\n",
" convert(X)\n",
" if not convertAgain():\n",
" break"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2 Calcula la masa de varias sustancias\n",
"\n",
"La densidad de una sustancia se define como $\\rho = \\frac{m}{V}$\n",
", donde\n",
"es la masa de un volumen\n",
".\n",
"\n",
"Haz un programa que calcule e imprima la masa de un litro de cada una de las siguientes sustancias\n",
"cuya densidad en\n",
"se encuentran en el archivo densities.dat: hierro, aire, gasolina, hielo,\n",
"cuerpo humano, plata, y platino.\n",
"Nombre del archivo: 1litro.py."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Cálculo de masa de sustancias\n",
"¿Cuantas masas de sustancias desea calcular?3\n",
"Introduzca el nombre de la sustancia: iron\n",
"La masa de iron es 7800.0 gramos\n",
"Introduzca el nombre de la sustancia: human body\n",
"La masa de human body es 1030.0 gramos\n",
"Introduzca el nombre de la sustancia: gold\n",
"La masa de gold es 18900.0 gramos\n",
"¿Quiere calcular otra(s) sustancia(s)? (si o no)no\n"
]
}
],
"source": [
"# %load 1litro.py\n",
"\"\"\"\n",
"Editor de Spyder\n",
"\n",
"@author: Ananda\n",
"\n",
"Programa para calcular la masa de varias sustancias:\n",
"La primera operacion es para abrir y leer el archivo linea por linea\n",
"\"\"\"\n",
"archivo = open(\"densities.dat\")\n",
"pot = archivo.readlines()\n",
"\n",
"def search(den):\n",
" \"\"\"\n",
" Recorre la lista creada anteriormente y cuando encuentra un espacio\\\n",
" coloca una coma (se tuvo precaucion con las sustancias que tienen dos\\\n",
" palabras) y la convierte en un diccionario separando las palabras de los numeros\n",
" \"\"\"\n",
" #print(pot) \n",
" density = {}\n",
" for l in pot:\n",
" valor = l.split()\n",
" if len(valor) > 2:\n",
" valor = [\" \".join(valor[:-1]), valor[-1]]\n",
" density[valor[0]] = float(valor[1])\n",
" return density\n",
" \n",
"def calculateAgain():\n",
" \"\"\"\n",
" Esta función devuelve True si el usuario quiere calcular de nuevo, de otra manera devuelve False.\n",
" \"\"\"\n",
" return input(\"¿Quiere calcular otra(s) sustancia(s)? (si o no)\").lower().startswith('si')\n",
"\n",
"def vuelta(n):\n",
" \"\"\"\n",
" Esta función crea un ciclo para buscar la masa tantas veces quiera el usuario\\\n",
" Luego busca en el diccionario el valor de la densidad que quiera el usuario y calcula la masa\n",
" \"\"\"\n",
" i = 1\n",
" while i<= n:\n",
" den = input(\"Introduzca el nombre de la sustancia: \")\n",
" density = search(den)\n",
" m = float(density[den])*1000\n",
" #print(density)\n",
" print(\"La masa de {0} es {1} gramos\".format(den,m))\n",
" i += 1\n",
"\n",
"\n",
"print(\"Cálculo de masa de sustancias\")\n",
"while True:\n",
" \"\"\"\n",
" Este ciclo llama la función vuelta() y luego pregunta al usuario si desea hacer otro calculo\n",
" \"\"\"\n",
" n = int(input(\"¿Cuantas masas de sustancias desea calcular?\"))\n",
" vuelta(n)\n",
" if not calculateAgain():\n",
" break\n",
" \n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.4.3"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment