├── .gitignore ├── LICENSE ├── PythonUPVX10.ipynb ├── PythonUPVX11.ipynb ├── PythonUPVX12.ipynb ├── PythonUPVX9.ipynb ├── PythonUPVx8.ipynb ├── README.md ├── Video1 └── PythonUPVxVideo1.pdf ├── Video2 └── PythonUPVxVideo2.pdf ├── Video3 ├── PythonUPVxVideo3.1.pdf └── PythonUPVxVideo3.2.pdf ├── Video4 └── PythonUPVxVideo4.pdf ├── Video5 └── PythonUPVxVideo5.pdf ├── Video6 └── PythonUPVxVideo6.pdf ├── Video7 └── PythonUPVxVideo7.pdf ├── ejercicio.csv ├── ejercicio.xlsx ├── environment.yml ├── estanteria ├── __init__.py ├── libroderecetas1.py └── libroderecetas2.py ├── libroderecetas.py ├── libroderecetas1.py ├── libroderecetas2.py ├── pythonUPVX13.ipynb ├── pythonUPVX14.ipynb ├── pythonUPVX15.ipynb ├── pythonUPVX16.ipynb ├── pythonUPVX18.ipynb ├── pythonUPVX19.ipynb ├── pythonUPVX20.ipynb ├── pythonUPVX21.ipynb ├── pythonUPVX22.ipynb ├── pythonUPVX23.ipynb ├── pythonUPVX28.ipynb ├── pythonUPVX29.ipynb ├── pythonUPVX30.ipynb ├── pythonUPVX31.ipynb ├── pythonUPVX32.ipynb ├── pythonUPVX33.ipynb ├── pythonUPVX34.ipynb ├── pythonUPVX35.ipynb ├── pythonUPVX36.ipynb ├── pythonUPVX37.ipynb ├── pythonUPVX38.ipynb ├── pythonUPVX39.ipynb └── pythonUPVX40.ipynb /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | assertions.py 6 | obfuscate.py 7 | .ipynb_checkpoints 8 | __pycache__ 9 | ._.DS_Store 10 | .DS_Store 11 | 12 | # C extensions 13 | *.so 14 | 15 | # Distribution / packaging 16 | .Python 17 | build/ 18 | develop-eggs/ 19 | dist/ 20 | downloads/ 21 | eggs/ 22 | .eggs/ 23 | lib/ 24 | lib64/ 25 | parts/ 26 | sdist/ 27 | var/ 28 | wheels/ 29 | pip-wheel-metadata/ 30 | share/python-wheels/ 31 | *.egg-info/ 32 | .installed.cfg 33 | *.egg 34 | MANIFEST 35 | 36 | # PyInstaller 37 | # Usually these files are written by a python script from a template 38 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 39 | *.manifest 40 | *.spec 41 | 42 | # Installer logs 43 | pip-log.txt 44 | pip-delete-this-directory.txt 45 | 46 | # Unit test / coverage reports 47 | htmlcov/ 48 | .tox/ 49 | .nox/ 50 | .coverage 51 | .coverage.* 52 | .cache 53 | nosetests.xml 54 | coverage.xml 55 | *.cover 56 | *.py,cover 57 | .hypothesis/ 58 | .pytest_cache/ 59 | 60 | # Translations 61 | *.mo 62 | *.pot 63 | 64 | # Django stuff: 65 | *.log 66 | local_settings.py 67 | db.sqlite3 68 | db.sqlite3-journal 69 | 70 | # Flask stuff: 71 | instance/ 72 | .webassets-cache 73 | 74 | # Scrapy stuff: 75 | .scrapy 76 | 77 | # Sphinx documentation 78 | docs/_build/ 79 | 80 | # PyBuilder 81 | target/ 82 | 83 | # Jupyter Notebook 84 | .ipynb_checkpoints 85 | 86 | # IPython 87 | profile_default/ 88 | ipython_config.py 89 | 90 | # pyenv 91 | .python-version 92 | 93 | # pipenv 94 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 95 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 96 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 97 | # install all needed dependencies. 98 | #Pipfile.lock 99 | 100 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 101 | __pypackages__/ 102 | 103 | # Celery stuff 104 | celerybeat-schedule 105 | celerybeat.pid 106 | 107 | # SageMath parsed files 108 | *.sage.py 109 | 110 | # Environments 111 | .env 112 | .venv 113 | env/ 114 | venv/ 115 | ENV/ 116 | env.bak/ 117 | venv.bak/ 118 | 119 | # Spyder project settings 120 | .spyderproject 121 | .spyproject 122 | 123 | # Rope project settings 124 | .ropeproject 125 | 126 | # mkdocs documentation 127 | /site 128 | 129 | # mypy 130 | .mypy_cache/ 131 | .dmypy.json 132 | dmypy.json 133 | 134 | # Pyre type checker 135 | .pyre/ 136 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Leonardo Salom 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /PythonUPVX10.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"PythonUPVX10.ipynb","provenance":[],"collapsed_sections":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"FKBFbo1UVvAB","colab_type":"text"},"source":["## Que són?\n","\n","Un tren sale desde Madrid en dirección a valencia a las 9:00 y otro sale en dirección contraria a las 11:00, si sabemos que la distancia a recorrer son 350km y el primer tren va a 100km/h y el segundo tren va a 300km/h ¿En que punto se encontraran?"]},{"cell_type":"code","metadata":{"id":"MDVbRX9oVp3t","colab_type":"code","colab":{}},"source":["salidaTrenA = 9\n","salidaTrenB = 11\n","velocidadTrenA = 100\n","velocidadTrenB =300\n","distancia =350"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"aPms6VmtWOfB","colab_type":"text"},"source":["# Reglas de los nómbres"]},{"cell_type":"code","metadata":{"id":"dsNmUSIhWSqH","colab_type":"code","colab":{}},"source":["tren = 3\n","_tren = 3\n","TrEn = 2"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"zQZb_8KyWcTg","colab_type":"code","colab":{}},"source":["0tren = 3"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"S7OeiU1bWi5v","colab_type":"code","colab":{}},"source":["tr$en = 3"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"dNuo1mhsWzeT","colab_type":"text"},"source":["# Que nombre le ponemos?"]},{"cell_type":"code","metadata":{"id":"dXxLkwVXW3Zj","colab_type":"code","colab":{}},"source":["sA = 9\n","sB = 11\n","vA = 100\n","vB =300\n","d =350"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"vVlZYaN-W-Iy","colab_type":"text"},"source":["al acortar los nombres escribimos más rapido pero un lector anglosajón podría confundir sA por speed A y no comprender nuestro código correctamente"]},{"cell_type":"markdown","metadata":{"id":"2yD50FhfWwEm","colab_type":"text"},"source":["# Cuidado con las diferencias de alturas"]},{"cell_type":"code","metadata":{"id":"joYq0ed2WpDs","colab_type":"code","colab":{}},"source":["tren"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"MBrTxNvcWsWE","colab_type":"code","colab":{}},"source":["TrEn"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"p1YmRodTZ2hQ","colab_type":"text"},"source":["El valor de las pequeñas cosas *(asignaciones)*"]},{"cell_type":"code","metadata":{"id":"t48gLGbrZ4el","colab_type":"code","colab":{}},"source":["numero = 3"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"JLUuFWPzZ6XH","colab_type":"code","colab":{}},"source":["texto = \"hola\""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"YpNyLF6_Z7-0","colab_type":"code","colab":{}},"source":["logico = True"],"execution_count":0,"outputs":[]}]} -------------------------------------------------------------------------------- /PythonUPVX11.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"PythonUPVX11.ipynb","provenance":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"x2td8JhqaNYz","colab_type":"text"},"source":["# Tipado dinámico"]},{"cell_type":"code","metadata":{"id":"OQ_Db6K8aDxu","colab_type":"code","colab":{}},"source":["miVariable = 3"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"JaTRI3J8aUjh","colab_type":"code","colab":{}},"source":["miVariable = \"Hola\""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"BXk3bOnDaWt5","colab_type":"code","colab":{}},"source":["miVariable = 3.0 + 2j"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"yXSbG2V_acaq","colab_type":"text"},"source":["#Fuertemente tipado"]},{"cell_type":"code","metadata":{"id":"cX0OfTDWaebM","colab_type":"code","colab":{}},"source":["numero = 33\n","cadena = \"hola\""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"SAdTMOSCajKb","colab_type":"code","colab":{}},"source":["numero + 2"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"aTrAtmOqanFJ","colab_type":"code","colab":{}},"source":["cadena + \" mundo\""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"3BmQLUpoaqNq","colab_type":"code","colab":{}},"source":["cadena + numero"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"ITMPtXQ5bMXm","colab_type":"text"},"source":["#Tipos de datos numéricos"]},{"cell_type":"code","metadata":{"id":"IA_WgYN5bOh3","colab_type":"code","colab":{}},"source":["entero = 4\n","entero_largo = 3L"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"Y3HvItEYbVyl","colab_type":"code","colab":{}},"source":["real = 3.0"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"TOC-z1gUbZJ2","colab_type":"code","colab":{}},"source":["complejo = 2 + 1j"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"poQMXJizbdRU","colab_type":"text"},"source":["#Tipos de datos lógicos"]},{"cell_type":"code","metadata":{"id":"jELcfGbUbfW9","colab_type":"code","colab":{}},"source":["variable_logica = True"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"muuOJUh9bsom","colab_type":"text"},"source":["#Tipos de datos sequenciales"]},{"cell_type":"code","metadata":{"id":"k-pCOrxYbxCU","colab_type":"code","colab":{}},"source":["cadena =\"hola caracola\""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"-sZ9w-1PbzOD","colab_type":"code","colab":{}},"source":["lista =[\"pera\",\"manzana\",\"piña\"]"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"y-meOlUob2Lj","colab_type":"code","colab":{}},"source":["tupla = (\"pera\",\"manzana\",\"piña\")"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"SXyw-ePTb85d","colab_type":"text"},"source":["#Diccionarios"]},{"cell_type":"code","metadata":{"id":"DR_HKoqWb-SM","colab_type":"code","colab":{}},"source":["diccionario = {\"nombre\":\"Leonardo\", \"apellidos\": \"Salom Muñoz\"}"],"execution_count":0,"outputs":[]}]} -------------------------------------------------------------------------------- /PythonUPVX12.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"PythonUPVX12.ipynb","provenance":[],"collapsed_sections":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"-UG7JAtEdW6d","colab_type":"text"},"source":["#Funcion type"]},{"cell_type":"code","metadata":{"id":"tRMqL7itdO06","colab_type":"code","colab":{}},"source":["type(1234)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"Whts1xJcddja","colab_type":"code","colab":{}},"source":["type(55.50)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"VsyXCVmRdf0i","colab_type":"code","colab":{}},"source":["type(6+4j)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"cuYt1nxpdhJS","colab_type":"code","colab":{}},"source":["type(\"hello\")"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"mZVVQF3tdibS","colab_type":"code","colab":{}},"source":["type([1,2,3,4])"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"CAhY4rJEdj8K","colab_type":"code","colab":{}},"source":["type((1,2,3,4))"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"R9Im89oPdlTb","colab_type":"code","colab":{}},"source":["type({1:\"one\", 2:\"two\", 3:\"three\"})"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"gFmK4S4xee7f","colab_type":"text"},"source":["#Funcion help()"]},{"cell_type":"code","metadata":{"id":"x-gMWA63egve","colab_type":"code","colab":{}},"source":["help(int)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"5v4uSWxVess-","colab_type":"code","colab":{}},"source":["help(str)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"SCO8irige0eM","colab_type":"code","colab":{}},"source":["help(dict)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"pOaSx1OLfBZD","colab_type":"text"},"source":["#Función dir()"]},{"cell_type":"code","metadata":{"id":"Ud8ayHfufGX2","colab_type":"code","colab":{}},"source":["dir(int)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"I_sg69o4gT1Z","colab_type":"text"},"source":["#Funciones de conversión"]},{"cell_type":"code","metadata":{"id":"SML1xVGNhiEZ","colab_type":"code","colab":{}},"source":["help(ord)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"AtYx8em9gXOV","colab_type":"code","colab":{}},"source":["numerosEnTexto = \"345\""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"PI2JcBvygblI","colab_type":"code","colab":{}},"source":["3+ numerosEnTexto"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"TuFw6j9Bgedn","colab_type":"code","colab":{}},"source":["3+ float(numerosEnTexto)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"xukETRG-hWZQ","colab_type":"text"},"source":["#Funcion input"]},{"cell_type":"code","metadata":{"id":"wz10PYBjgmi1","colab_type":"code","colab":{}},"source":["edadDelUsuario = input(\"dime tu edad\")"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"fYcZYcK8ht9z","colab_type":"code","colab":{}},"source":["type(edadDelUsuario)"],"execution_count":0,"outputs":[]}]} -------------------------------------------------------------------------------- /PythonUPVX9.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"PythonUPVX9.ipynb","provenance":[],"collapsed_sections":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"Es-ItNDANLFl","colab_type":"text"},"source":["## Errores de sintaxis"]},{"cell_type":"code","metadata":{"id":"NPGIM9OiNGA9","colab_type":"code","colab":{}},"source":["print(\"hola mundo\""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"f0cOIdjmNPVT","colab_type":"code","colab":{}},"source":["print \"hola mundo\""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"v45fCiAONQyK","colab_type":"code","colab":{}},"source":["Print(\"hola mundo\")"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"3M0AwMiuNS1R","colab_type":"code","colab":{}},"source":["a = 034"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"hClRao6iNaw_","colab_type":"code","colab":{}},"source":["\"hola mundo\" 34 34.6"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"HQxbWAfJPb4q","colab_type":"code","colab":{}},"source":["print(\"esto va\")\n"," print(\"esto no\")"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"kvm1MUFPNdAi","colab_type":"text"},"source":["## Errores de ejecución"]},{"cell_type":"code","metadata":{"id":"khWKop9SPI69","colab_type":"code","colab":{}},"source":["3/0"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"9Q4QTc_hP0VP","colab_type":"code","colab":{}},"source":["a = \"hola\" + 2"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"yf_0x6_mQC54","colab_type":"code","colab":{}},"source":["archivo = open(\"error.txt\",\"r\")"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"Z1ISbiDcVCxm","colab_type":"code","colab":{}},"source":["a = [1,2,3,4]\n","\n","b = a[6]"],"execution_count":0,"outputs":[]}]} -------------------------------------------------------------------------------- /PythonUPVx8.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"PythonUPVx8.ipynb","provenance":[],"collapsed_sections":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"AeapcfQDKaPY","colab_type":"text"},"source":["## PALABRAS RESERVADAS (EJEMPLO)"]},{"cell_type":"code","metadata":{"id":"SG8MpdKbKLuW","colab_type":"code","colab":{}},"source":["#ejemplo con import math"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"wKbOdCzMKrLS","colab_type":"text"},"source":["## COMENTARIOS (EJEMPLO)"]},{"cell_type":"code","metadata":{"id":"8prfJkpQKtfu","colab_type":"code","colab":{}},"source":["#comentario mono línea"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"v06FvYqtKxwd","colab_type":"code","colab":{}},"source":["'''\n","comentario\n","multilínea\n","'''"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"1kXe5CTsK3wX","colab_type":"text"},"source":["## FRASES"]},{"cell_type":"code","metadata":{"id":"sx6bahauK5MF","colab_type":"code","colab":{}},"source":["a=5"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"R5c_kLPVK676","colab_type":"code","colab":{}},"source":["c=10/a"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"o-58XjIiK8fd","colab_type":"code","colab":{}},"source":["str(c)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"uj5UkrD3K_Ye","colab_type":"text"},"source":["## PÁRRAFOS"]},{"cell_type":"code","metadata":{"id":"KdvIOgvYLAWe","colab_type":"code","colab":{}},"source":["a=3\n","c=10/a\n","print(c)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"j30ttPgkLGWN","colab_type":"text"},"source":["## VARIABLES"]},{"cell_type":"code","metadata":{"id":"Zy2BLrzSLI3F","colab_type":"code","colab":{}},"source":["numero = 0\n","cadena = \"hola mundo\"​\n","diccionario = {\"mybar\":\"valor\"}​\n","lista = [\"dato1\",\"dato2\"]​\n","tupla = (\"manzana\", \"pera\")"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"v6O0jR9KLLr-","colab_type":"text"},"source":["## CONSTANTES\n","*convención de nomenclatura*"]},{"cell_type":"code","metadata":{"id":"tFrN-QD4LZSd","colab_type":"code","colab":{}},"source":["GRAVEDAD= 9.8"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"JLp5SbhALa6-","colab_type":"code","colab":{}},"source":["t = 10\n","v = t * GRAVEDAD\n","print(v)"],"execution_count":0,"outputs":[]}]} -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Video1/PythonUPVxVideo1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leosamu/pythonMoocCompanion/e0fe196804caf9a1dbd18ed2c045d3cb902c3c55/Video1/PythonUPVxVideo1.pdf -------------------------------------------------------------------------------- /Video2/PythonUPVxVideo2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leosamu/pythonMoocCompanion/e0fe196804caf9a1dbd18ed2c045d3cb902c3c55/Video2/PythonUPVxVideo2.pdf -------------------------------------------------------------------------------- /Video3/PythonUPVxVideo3.1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leosamu/pythonMoocCompanion/e0fe196804caf9a1dbd18ed2c045d3cb902c3c55/Video3/PythonUPVxVideo3.1.pdf -------------------------------------------------------------------------------- /Video3/PythonUPVxVideo3.2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leosamu/pythonMoocCompanion/e0fe196804caf9a1dbd18ed2c045d3cb902c3c55/Video3/PythonUPVxVideo3.2.pdf -------------------------------------------------------------------------------- /Video4/PythonUPVxVideo4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leosamu/pythonMoocCompanion/e0fe196804caf9a1dbd18ed2c045d3cb902c3c55/Video4/PythonUPVxVideo4.pdf -------------------------------------------------------------------------------- /Video5/PythonUPVxVideo5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leosamu/pythonMoocCompanion/e0fe196804caf9a1dbd18ed2c045d3cb902c3c55/Video5/PythonUPVxVideo5.pdf -------------------------------------------------------------------------------- /Video6/PythonUPVxVideo6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leosamu/pythonMoocCompanion/e0fe196804caf9a1dbd18ed2c045d3cb902c3c55/Video6/PythonUPVxVideo6.pdf -------------------------------------------------------------------------------- /Video7/PythonUPVxVideo7.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leosamu/pythonMoocCompanion/e0fe196804caf9a1dbd18ed2c045d3cb902c3c55/Video7/PythonUPVxVideo7.pdf -------------------------------------------------------------------------------- /ejercicio.csv: -------------------------------------------------------------------------------- 1 | ,id,diet,pulse,time,kind 2 | 0,1,low fat,85,1 min,rest 3 | 1,1,low fat,85,15 min,rest 4 | 2,1,low fat,88,30 min,rest 5 | 3,2,low fat,90,1 min,rest 6 | 4,2,low fat,92,15 min,rest 7 | 5,2,low fat,93,30 min,rest 8 | 6,3,low fat,97,1 min,rest 9 | 7,3,low fat,97,15 min,rest 10 | 8,3,low fat,94,30 min,rest 11 | 9,4,low fat,80,1 min,rest 12 | 10,4,low fat,82,15 min,rest 13 | 11,4,low fat,83,30 min,rest 14 | 12,5,low fat,91,1 min,rest 15 | 13,5,low fat,92,15 min,rest 16 | 14,5,low fat,91,30 min,rest 17 | 15,6,no fat,83,1 min,rest 18 | 16,6,no fat,83,15 min,rest 19 | 17,6,no fat,84,30 min,rest 20 | 18,7,no fat,87,1 min,rest 21 | 19,7,no fat,88,15 min,rest 22 | 20,7,no fat,90,30 min,rest 23 | 21,8,no fat,92,1 min,rest 24 | 22,8,no fat,94,15 min,rest 25 | 23,8,no fat,95,30 min,rest 26 | 24,9,no fat,97,1 min,rest 27 | 25,9,no fat,99,15 min,rest 28 | 26,9,no fat,96,30 min,rest 29 | 27,10,no fat,100,1 min,rest 30 | 28,10,no fat,97,15 min,rest 31 | 29,10,no fat,100,30 min,rest 32 | 30,11,low fat,86,1 min,walking 33 | 31,11,low fat,86,15 min,walking 34 | 32,11,low fat,84,30 min,walking 35 | 33,12,low fat,93,1 min,walking 36 | 34,12,low fat,103,15 min,walking 37 | 35,12,low fat,104,30 min,walking 38 | 36,13,low fat,90,1 min,walking 39 | 37,13,low fat,92,15 min,walking 40 | 38,13,low fat,93,30 min,walking 41 | 39,14,low fat,95,1 min,walking 42 | 40,14,low fat,96,15 min,walking 43 | 41,14,low fat,100,30 min,walking 44 | 42,15,low fat,89,1 min,walking 45 | 43,15,low fat,96,15 min,walking 46 | 44,15,low fat,95,30 min,walking 47 | 45,16,no fat,84,1 min,walking 48 | 46,16,no fat,86,15 min,walking 49 | 47,16,no fat,89,30 min,walking 50 | 48,17,no fat,103,1 min,walking 51 | 49,17,no fat,109,15 min,walking 52 | 50,17,no fat,90,30 min,walking 53 | 51,18,no fat,92,1 min,walking 54 | 52,18,no fat,96,15 min,walking 55 | 53,18,no fat,101,30 min,walking 56 | 54,19,no fat,97,1 min,walking 57 | 55,19,no fat,98,15 min,walking 58 | 56,19,no fat,100,30 min,walking 59 | 57,20,no fat,102,1 min,walking 60 | 58,20,no fat,104,15 min,walking 61 | 59,20,no fat,103,30 min,walking 62 | 60,21,low fat,93,1 min,running 63 | 61,21,low fat,98,15 min,running 64 | 62,21,low fat,110,30 min,running 65 | 63,22,low fat,98,1 min,running 66 | 64,22,low fat,104,15 min,running 67 | 65,22,low fat,112,30 min,running 68 | 66,23,low fat,98,1 min,running 69 | 67,23,low fat,105,15 min,running 70 | 68,23,low fat,99,30 min,running 71 | 69,24,low fat,87,1 min,running 72 | 70,24,low fat,132,15 min,running 73 | 71,24,low fat,120,30 min,running 74 | 72,25,low fat,94,1 min,running 75 | 73,25,low fat,110,15 min,running 76 | 74,25,low fat,116,30 min,running 77 | 75,26,no fat,95,1 min,running 78 | 76,26,no fat,126,15 min,running 79 | 77,26,no fat,143,30 min,running 80 | 78,27,no fat,100,1 min,running 81 | 79,27,no fat,126,15 min,running 82 | 80,27,no fat,140,30 min,running 83 | 81,28,no fat,103,1 min,running 84 | 82,28,no fat,124,15 min,running 85 | 83,28,no fat,140,30 min,running 86 | 84,29,no fat,94,1 min,running 87 | 85,29,no fat,135,15 min,running 88 | 86,29,no fat,130,30 min,running 89 | 87,30,no fat,99,1 min,running 90 | 88,30,no fat,111,15 min,running 91 | 89,30,no fat,150,30 min,running 92 | -------------------------------------------------------------------------------- /ejercicio.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leosamu/pythonMoocCompanion/e0fe196804caf9a1dbd18ed2c045d3cb902c3c55/ejercicio.xlsx -------------------------------------------------------------------------------- /environment.yml: -------------------------------------------------------------------------------- 1 | name: python-upvx 2 | channels: 3 | - conda-forge 4 | -------------------------------------------------------------------------------- /estanteria/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leosamu/pythonMoocCompanion/e0fe196804caf9a1dbd18ed2c045d3cb902c3c55/estanteria/__init__.py -------------------------------------------------------------------------------- /estanteria/libroderecetas1.py: -------------------------------------------------------------------------------- 1 | CONST = "constante1 en modulo1 del paquete" 2 | VAR_2 = ",datos adicionales en var" -------------------------------------------------------------------------------- /estanteria/libroderecetas2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leosamu/pythonMoocCompanion/e0fe196804caf9a1dbd18ed2c045d3cb902c3c55/estanteria/libroderecetas2.py -------------------------------------------------------------------------------- /libroderecetas.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | GRAVEDAD = 9.8 4 | 5 | def miSuma (a,b): 6 | return a+b -------------------------------------------------------------------------------- /libroderecetas1.py: -------------------------------------------------------------------------------- 1 | CONST = "constante1 en modulo1 del paquete" 2 | VAR_2 = ",datos adicionales en var" 3 | -------------------------------------------------------------------------------- /libroderecetas2.py: -------------------------------------------------------------------------------- 1 | CONST = "constante1 en modulo2" -------------------------------------------------------------------------------- /pythonUPVX13.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX13.ipynb","provenance":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"wp4DHVOiku1b","colab_type":"text"},"source":["#Operaciones aritméticas"]},{"cell_type":"code","metadata":{"id":"chkNhWLWk2CP","colab_type":"code","colab":{}},"source":["3+2"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"LBOIN253k3dO","colab_type":"code","colab":{}},"source":["3-2"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"oVbntJWqk5vH","colab_type":"code","colab":{}},"source":["3*2"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"6MtlGFASk652","colab_type":"code","colab":{}},"source":["3/2 #nota en python 2 esto devolvería 1"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"fC59l2-YlCo-","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"6d6f1104-ecec-44d5-e0c4-b61721f00663","executionInfo":{"status":"ok","timestamp":1576497593579,"user_tz":-60,"elapsed":824,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}}},"source":["3%2"],"execution_count":2,"outputs":[{"output_type":"execute_result","data":{"text/plain":["1"]},"metadata":{"tags":[]},"execution_count":2}]},{"cell_type":"code","metadata":{"id":"YS4h6MhSjod0","colab_type":"code","colab":{}},"source":["3**2"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"lliBnrR7lH7O","colab_type":"code","colab":{}},"source":["- 3"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"P3IgoGotlMqG","colab_type":"code","colab":{}},"source":["+ 3"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"Wkfce4Lplzs0","colab_type":"text"},"source":["# Precedencia"]},{"cell_type":"code","metadata":{"id":"wDBJovgTl1MC","colab_type":"code","colab":{}},"source":["3*2+1"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"lv_gBPKtl4da","colab_type":"code","colab":{}},"source":["3**2+1"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"LzlkMN-cl6Mj","colab_type":"code","colab":{}},"source":["3**(2+1)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"b2eJGEJWlTVE","colab_type":"text"},"source":["#cuidado!\n","estas operaciones no modifican el valor de las variables así que si hicieramos esto"]},{"cell_type":"code","metadata":{"id":"bW-a17ZSlcsk","colab_type":"code","colab":{}},"source":["a=3\n","b=2\n","a+b"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"ct5m3n88lfcv","colab_type":"text"},"source":["tenemos un 5 en pantalla que no hemos almacenado en ningún sitio para esto tendremos que asignar el resultado a una variable"]},{"cell_type":"code","metadata":{"id":"oevAmW5ilmaz","colab_type":"code","colab":{}},"source":["c=a+b"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"cM-gY07ZmF6C","colab_type":"text"},"source":["#Operadores con las cadenas"]},{"cell_type":"code","metadata":{"id":"jCxGw-dUltFd","colab_type":"code","colab":{}},"source":["\"hola \" + \" mundo\""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"i0yQeH3GmSKw","colab_type":"code","colab":{}},"source":["\"monja\" * 5"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"_hP0DxpMmVH4","colab_type":"code","colab":{}},"source":["\"monja\" + 5"],"execution_count":0,"outputs":[]}]} -------------------------------------------------------------------------------- /pythonUPVX14.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX14.ipynb","provenance":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"5Jx4fwRQmyR-","colab_type":"text"},"source":["#Operaciones lógicas"]},{"cell_type":"code","metadata":{"id":"DQrZOJ7Amq7v","colab_type":"code","colab":{}},"source":["tres = 3\n","cinco = 5"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"cwVaed3KnRmb","colab_type":"text"},"source":["Comparadores"]},{"cell_type":"code","metadata":{"id":"-v8x_Gk6nU0a","colab_type":"code","colab":{}},"source":["tres>cinco"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"J6aiKvoTnYi7","colab_type":"code","colab":{}},"source":["tres>=cinco"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"7Zxe4PPmnWPt","colab_type":"code","colab":{}},"source":["tres"]},{"cell_type":"code","metadata":{"id":"YAaO0xUFo8qI","colab_type":"code","colab":{}},"source":["a=True\n","if(a):\n"," print(a)\n","print('Siguiente Instrucción')"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"dEjgqaPcq4uI","colab_type":"text"},"source":[""]},{"cell_type":"code","metadata":{"id":"qX1ToeePqb1p","colab_type":"code","colab":{}},"source":["a=True\n","if(a):\n"," print(a)\n","else:\n"," print(\"no\")\n","print('Siguiente Instrucción')"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"vMxj3a7NrFfx","colab_type":"text"},"source":[""]},{"cell_type":"code","metadata":{"id":"OhOfEwLErJVw","colab_type":"code","colab":{}},"source":["a=3\n","if a==4:\n"," print(\"cuatro\")\n","elif a>2:\n"," print(\"grt2\")\n","print(\"siguiente instrucción\")"],"execution_count":0,"outputs":[]}]} -------------------------------------------------------------------------------- /pythonUPVX16.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX16.ipynb","provenance":[],"collapsed_sections":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"h7kk40ZwsiDk","colab_type":"text"},"source":["#Flujo iterativo\n","\n","##WHILE\n",""]},{"cell_type":"code","metadata":{"id":"v7pTh8Zhso-4","colab_type":"code","colab":{}},"source":["a=10\n","while a>0:\n"," print (a)\n"," a= a-1\n","print(\"siguiente instrucción\")"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"uwptgqC8spt6","colab_type":"text"},"source":["#### FOR\n"," "]},{"cell_type":"code","metadata":{"id":"XcQKMkEgsOtf","colab_type":"code","colab":{}},"source":["#similar al for each de otros lenguajes\n","palabra=\"patatas\"\n","for letra in palabra:\n"," print(letra)\n","print('siguiente instrucción')"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"KUSG9YEHtD3-","colab_type":"text"},"source":["##Funcion range"]},{"cell_type":"code","metadata":{"id":"JZ6Fgs_stDKu","colab_type":"code","colab":{}},"source":["range(5)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"iT8-ZvibtG_V","colab_type":"code","colab":{}},"source":["range(2,7)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"c8Vl6RExtLQm","colab_type":"code","colab":{}},"source":["a=\"patatas\"\n","for i in range(0,len(a)):\n"," print(a[i])\n","print('siguiente instrucción')"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"H0Ko2ak6tf_F","colab_type":"text"},"source":["##Break\n","\n","Sirve para salirnos del buble antes de terminar la ejecución completa del mismo"]},{"cell_type":"code","metadata":{"id":"BgZWNeyXtn3W","colab_type":"code","colab":{}},"source":["palabra=\"patatas\"\n","for letra in palabra:\n"," print (letra)\n"," if letra == 't':\n"," break\n","print('siguiente instrucción')"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"B21iNRHpt2KD","colab_type":"text"},"source":["##Continue\n","sirve para saltar a la siguiente iteración"]},{"cell_type":"code","metadata":{"id":"Sdc2IMm7t6aY","colab_type":"code","colab":{}},"source":["a=\"patatas\"\n","for letra in a:\n"," if letra=='a':\n"," continue \n"," print (letra)\n","print('siguiente instrucción')"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"gKjm6z3ouBIE","colab_type":"text"},"source":["#### Bucles infinitos\n","cuidado con estos"]},{"cell_type":"code","metadata":{"id":"9q-kiiH8uDW8","colab_type":"code","colab":{}},"source":["while True:\n"," print(\"socorro!\")\n","print(\"fin\")"],"execution_count":0,"outputs":[]}]} -------------------------------------------------------------------------------- /pythonUPVX18.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX18.ipynb","provenance":[],"collapsed_sections":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"v-qp9nPypLzj","colab_type":"text"},"source":["## El comando print\n","\n","Diferencia entre la salida normal y el comando print"]},{"cell_type":"code","metadata":{"id":"6voD_oajpFHO","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"AkWGqchvpYMW","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"JOm8CO5LpZA2","colab_type":"text"},"source":["Añadir varios elementos al comando"]},{"cell_type":"code","metadata":{"id":"QY-8WqRspe5V","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"DC_EPtdYphXd","colab_type":"text"},"source":["## El comando Input\n","Captura de la entrada de teclado"]},{"cell_type":"code","metadata":{"id":"32Md5iTjpvoc","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"-W8gpkiRpvFc","colab_type":"text"},"source":["Combinando input con print"]},{"cell_type":"code","metadata":{"id":"47vdSzOAp220","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"ULN95iMNp3Qe","colab_type":"text"},"source":["## Operaciones matemáticas con la entrada del input\n","\n","Sabiendo que una maraton son 42.2km escribiremos un programa que le preguntara al usuario cuantos minutos tardó en realizarla, y con eso calculará el ritmo medio al que corrió."]},{"cell_type":"code","metadata":{"id":"28I6saxGqZ3y","colab_type":"code","colab":{}},"source":["DISTANCIAMARATON = 42.2\n","#TU CÓDIGO AQUÍ\n"],"execution_count":0,"outputs":[]}]} -------------------------------------------------------------------------------- /pythonUPVX19.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX19.ipynb","provenance":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"Tw5PTkkgwf_U","colab_type":"text"},"source":["# Ejemplo de bloque if"]},{"cell_type":"code","metadata":{"id":"-wik_xRnwV4U","colab_type":"code","colab":{}},"source":["edad = 10\n","if edad > 18:\n"," print('puede beber en España')\n","print ('eso es todo')"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"xAu6YZVewfL1","colab_type":"code","colab":{}},"source":["edad = 10\n","if edad > 18:\n"," print('puede beber en España')\n"," if edad > 67:\n"," print('y además estará jubilado')\n","print ('eso es todo')"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"azSpObVm3EmT","colab_type":"code","colab":{}},"source":["edad = 15\n","if edad > 18:\n"," print('puede beber en España')\n","else:\n"," print('aún no puede beber en España')\n","print('eso es todo')"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"xaI9sC3Kw8xx","colab_type":"text"},"source":["Ejemplo con bloque for"]},{"cell_type":"code","metadata":{"id":"E39JUSfHw_Ew","colab_type":"code","colab":{}},"source":["frutas = ['manzana', 'pera', 'platano']\n","\n","print('comienza el bloque')\n","for fruta in frutas:\n"," print(fruta)\n","print('finaliza el bloque')"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"jVNpeIp43sWL","colab_type":"text"},"source":["Ejemplo con funciones"]},{"cell_type":"code","metadata":{"id":"S_23TZvt3uzw","colab_type":"code","colab":{}},"source":["def funcionSuma():\n"," a = 5\n"," b = 3\n"," print (a+b)\n","\n","funcionSuma()"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"9dE-5B4uWbRo","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]}]} -------------------------------------------------------------------------------- /pythonUPVX20.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX20.ipynb","provenance":[],"collapsed_sections":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"LcllXzQOmlgc","colab_type":"text"},"source":["# Errores típicos de ejecución"]},{"cell_type":"code","metadata":{"id":"KWlupvbWmqpL","colab_type":"code","colab":{}},"source":["10/0"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"41aC-7afms4S","colab_type":"code","colab":{}},"source":["4 + spam*2"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"4Pu3Do-fmvlp","colab_type":"code","colab":{}},"source":["'2'+ 2"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"1sCfVGYPmwjT","colab_type":"text"},"source":["además errores de archivo, conexión, comunicación, entrada de datos..."]},{"cell_type":"markdown","metadata":{"id":"mt80SWvrerLI","colab_type":"text"},"source":["# Manejando errores\n","\n","Supongamos que le pedimos al usuario que nos introduzca un número para hacer un cálculo pero..."]},{"cell_type":"code","metadata":{"id":"vp5sjAKDebTd","colab_type":"code","colab":{}},"source":["valor = input('Escribe el número:') #pero el usuario lo pone con letras\n","valor_numerico = int(valor)\n","resultado = valor_numerico + 3\n","print(resultado)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"HdfUHMlcfHsA","colab_type":"text"},"source":["El bloque try/except"]},{"cell_type":"code","metadata":{"id":"t0cthfSufg1u","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":51},"outputId":"3a6a717c-231a-450c-f4f5-9beae82dae65","executionInfo":{"status":"ok","timestamp":1576598012510,"user_tz":-60,"elapsed":1857,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}}},"source":["try:\n"," valor = input('Escribe el número:') #pero el usuario lo pone con letras\n"," valorNumerico = int(valor)\n"," resultado = valor_numerico + 3\n"," print(resultado)\n","except Exception as e:\n"," print('Hemos subrido un error debido a que:',str(e))"],"execution_count":19,"outputs":[{"output_type":"stream","text":["Escribe el número:tas\n","Hemos subrido un error debido a que invalid literal for int() with base 10: 'tas'\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"WpdbQp0JgD7g","colab_type":"text"},"source":["Esto resuelve nuestro problema si nuestro programa es así de sencillo pero que pasa cuando nuestra aplicación debe seguir realizando cosas con el contenido de la variable **valorNumerico** más adelante? "]},{"cell_type":"code","metadata":{"id":"1CV4yOs3gS3X","colab_type":"code","colab":{}},"source":["try:\n"," valor = input('Escribe el número:') #pero el usuario lo pone con letras\n"," valorNumerico = int(valor)\n"," resultado = valor_numerico + 3\n"," print(resultado)\n","except:\n"," valorNumerico = 0\n","\n","print(valorNumerico + 3)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"MyiOEjgtgm1H","colab_type":"text"},"source":["## Cuidado con los bloques try muy largos"]},{"cell_type":"code","metadata":{"id":"ry2ulOoCgxgG","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"4a87c7b3-c6f7-4162-9323-eeb6494a1271","executionInfo":{"status":"ok","timestamp":1576597469861,"user_tz":-60,"elapsed":628,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}}},"source":["try:\n"," valor = 'siete' \n"," valorNumerico = int(valor) \n"," resultado = valorNumerico + 3 #esto no se ejecutará porque falla en la linea anterior\n"," print(resultado)\n","except ValueError:\n"," valorNumerico = 0\n","\n","print(valorNumerico + 3)"],"execution_count":6,"outputs":[{"output_type":"stream","text":["3\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"Myt_kIRQkiZW","colab_type":"text"},"source":["Tipos de errores disponibles en la [documentación de python](https://docs.python.org/3/library/exceptions.html#Exception) y podemos actuar dependiendo del tipo de excepción.\n"]},{"cell_type":"code","metadata":{"id":"AP6IIt-Mkvks","colab_type":"code","colab":{}},"source":["try:\n"," valor = input('Introduce un valor :') \n"," valorNumerico = int(valor) #/0 #/dos\n"," resultado = valorNumerico + 3 \n"," print(resultado)\n","except ArithmeticError:\n"," print('Error aritmético')\n","except ValueError:\n"," valorNumerico = 0\n","except Exception as e:\n"," print('Hemos subrido un error debido a que:',str(e))\n","\n","print(valorNumerico + 3)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"Dh2TZWoShMMX","colab_type":"text"},"source":["## El grupo finally"]},{"cell_type":"code","metadata":{"id":"-qDlfkYJhpuz","colab_type":"code","colab":{}},"source":["try:\n"," valor = \"siete\"\n"," valorNumerico = int(valor) \n"," resultado = valorNumerico + 3 #esto no se ejecutará porque falla en la linea anterior\n"," print(resultado)\n","except ValueError:\n"," valorNumerico = 0\n","finally:\n"," print(valorNumerico + 3)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"POWZxfdxinM_","colab_type":"text"},"source":["Especialmente util para cerrar ficheros/conexiones a bases de datos/ sockets y básicamente el acceso a cualquier recurso bloqueante que pueda necesitar nuestra aplicación u otras aplicaciones."]}]} -------------------------------------------------------------------------------- /pythonUPVX21.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX21.ipynb","provenance":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"_4VzBeb-vfLy","colab_type":"text"},"source":["Antes de empezar, asegurate de que tod va segun lo esperado. Primero, **reinicia el kernel** (en la barra de menu, selecciona Kernel$\\rightarrow$Restart) y entonces **ejecuta todas las celdas** (en la barra de menu, selecciona Cell$\\rightarrow$Run All).\n","\n","Asegurate de rellenar cualquier lugar donde aparezca `TU CÓDIGO AQUI` o `TU RESPUESTA AQUÍ`."]},{"cell_type":"code","metadata":{"id":"hNcR3tQpvdsS","colab_type":"code","colab":{}},"source":["ANONYMOUS_ID=\"student\" "],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"8zMJvL_6u6MD","colab_type":"text"},"source":["## Par o Impar?\n","Le pediremos al usuario un número y debe mostrar el mensaje \"el número **numero** es par/impar\" dependiendo del número introducido:\n"]},{"cell_type":"code","metadata":{"id":"pmHq2UMLufi6","colab_type":"code","colab":{}},"source":["num = input('Introduce un número:')\n","#TU CÓDIGO AQUÍ"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"IuySwY1Ov8j0","colab_type":"text"},"source":["
\n","Pincha aqui para ver la solución\n","
\n","num = input(\"Introduce un número: \")\n","numInt = int(num)\n","if (numInt % 2==0):\n","    print (\"el número\", numInt, \"es par\")\n","else:\n","    print (\"el número\", numInt, \"es impar\")\n","
\n","
"]},{"cell_type":"code","metadata":{"id":"jLF0MoCUv-Ur","colab_type":"code","colab":{}},"source":["#EJECUCIÓN DE CONFIRMACIÓN\n","print('resultadoquepondriamosenlaplataforma')"],"execution_count":0,"outputs":[]}]} -------------------------------------------------------------------------------- /pythonUPVX22.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX22.ipynb","provenance":[{"file_id":"1bQqQD1yADQbjXdYYzGs4eWU89nqaDLKD","timestamp":1576602102148}],"collapsed_sections":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"_4VzBeb-vfLy","colab_type":"text"},"source":["Antes de empezar, asegurate de que tod va segun lo esperado. Primero, **reinicia el kernel** (en la barra de menu, selecciona Kernel$\\rightarrow$Restart) y entonces **ejecuta todas las celdas** (en la barra de menu, selecciona Cell$\\rightarrow$Run All).\n","\n","Asegurate de rellenar cualquier lugar donde aparezca `TU CÓDIGO AQUI` o `TU RESPUESTA AQUÍ`."]},{"cell_type":"code","metadata":{"id":"hNcR3tQpvdsS","colab_type":"code","colab":{}},"source":["ANONYMOUS_ID=\"student\" "],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"8zMJvL_6u6MD","colab_type":"text"},"source":["## Escribe los divisibles?\n","El objeto de esta práctica es realizar un programa que solicite al usuario un número entero positivo e imprima todos los números divisibles entre 5 o 7 menores o iguales que el número. Para ello tendréis que utilizar un bucle."]},{"cell_type":"code","metadata":{"id":"pmHq2UMLufi6","colab_type":"code","colab":{}},"source":["num = input('Introduce un número:')\n","#TU CÓDIGO AQUÍ"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"IuySwY1Ov8j0","colab_type":"text"},"source":["
\n","Pincha aqui para ver la solución\n","
\n","num = input(\"Introduce un número: \")\n","numInt = int(num)\n","if (numInt >0):\n","  for i in range(0,numInt):\n","    if((i%7==0) or (i%5==0)):\n","       print(i)\n","else:\n","  print(\"Por favor introduce un número positivo\")\n","
\n","
"]},{"cell_type":"code","metadata":{"id":"jLF0MoCUv-Ur","colab_type":"code","colab":{}},"source":["#EJECUCIÓN DE CONFIRMACIÓN\n","print('resultadoquepondriamosenlaplataforma')"],"execution_count":0,"outputs":[]}]} -------------------------------------------------------------------------------- /pythonUPVX23.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX23.ipynb","provenance":[{"file_id":"1NJgefnIma0M0TCehDpemhS-FbdoQjhnr","timestamp":1576744121896},{"file_id":"1bQqQD1yADQbjXdYYzGs4eWU89nqaDLKD","timestamp":1576602102148}],"collapsed_sections":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"_4VzBeb-vfLy","colab_type":"text"},"source":["Antes de empezar, asegurate de que tod va segun lo esperado. Primero, **reinicia el kernel** (en la barra de menu, selecciona Kernel$\\rightarrow$Restart) y entonces **ejecuta todas las celdas** (en la barra de menu, selecciona Cell$\\rightarrow$Run All).\n","\n","Asegurate de rellenar cualquier lugar donde aparezca `TU CÓDIGO AQUI` o `TU RESPUESTA AQUÍ`."]},{"cell_type":"code","metadata":{"id":"hNcR3tQpvdsS","colab_type":"code","colab":{}},"source":["ANONYMOUS_ID=\"student\" "],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"8zMJvL_6u6MD","colab_type":"text"},"source":["## Resolviendo problemas con bucles\n","### contar elementos de una lista"]},{"cell_type":"code","metadata":{"id":"PctQfh-EWKBz","colab_type":"code","colab":{}},"source":["lista = [9,13,2,7,124,-5]\n","print(len(lista))"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"m57w3NmVWiHX","colab_type":"text"},"source":["Cómo lo harías sin la función len?"]},{"cell_type":"code","metadata":{"id":"pmHq2UMLufi6","colab_type":"code","colab":{}},"source":["#TU RESPUESTA AQUÍ"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"IuySwY1Ov8j0","colab_type":"text"},"source":["
\n","Pincha aqui para ver la solución\n","
\n","cuenta = 0\n","print (f'inicializamos la cuenta a:{cuenta}')\n","for elemento in lista:\n","  cuenta = cuenta + 1\n","  print(f'el valor actual es:{cuenta}')\n","print(f'el resultado final es:{cuenta}')\n","\n","
\n","
"]},{"cell_type":"markdown","metadata":{"id":"rqwbO_m3Xb47","colab_type":"text"},"source":["### suma los valores de los elementos"]},{"cell_type":"code","metadata":{"id":"omj2sWqWXfTx","colab_type":"code","colab":{}},"source":["lista = [9,13,2,7,124,-5]\n","print(sum(lista))"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"dDewTegdXnf7","colab_type":"text"},"source":["Cómo lo harías sin la función sum?"]},{"cell_type":"code","metadata":{"id":"L4Hai_h0uK6M","colab_type":"code","colab":{}},"source":["#TU RESPUESTA AQUÍ"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"k6QF4myRXsmC","colab_type":"text"},"source":["
\n","Pincha aqui para ver la solución\n","
\n","suma = 0\n","print(f'valor inicial es :{suma}')\n","for elemento in lista:\n","  suma = suma + elemento\n","  print(f'conteo parcial es: {suma}')\n","print(f'el resultado de la suma de los elementos es: {suma}')\n","
\n","
"]},{"cell_type":"markdown","metadata":{"id":"LCSQwA64uRi5","colab_type":"text"},"source":["### calcula la media de los valores de los elementos"]},{"cell_type":"code","metadata":{"id":"YqtvXn12udGZ","colab_type":"code","colab":{}},"source":["lista = [9,13,2,7,124,-5]\n","print(sum(lista)/len(lista))"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"LU_9ciSUusLh","colab_type":"text"},"source":["Cómo lo harias sin sum ni len?"]},{"cell_type":"code","metadata":{"id":"M-CrxuCPu15Z","colab_type":"code","colab":{}},"source":["#TU RESPUESTA AQUÍ"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"36tjIukzvOL3","colab_type":"text"},"source":["
\n","Pincha aqui para ver la solución\n","
\n","suma = 0\n","cuenta = 0\n","print(f'valor inicial es :{suma}')\n","for elemento in lista:\n","  suma = suma + elemento\n","  cuenta = cuenta + 1\n","  print(f'suma parcial es: {suma}')\n","  print(f'conteo parcial es: {cuenta}')\n","print(f'la media de los elementos es: {suma/cuenta}')\n","
\n","
"]},{"cell_type":"markdown","metadata":{"id":"J8rvWcfhvUaN","colab_type":"text"},"source":["y si quisieras la media de los valores positivos de los elementos?"]},{"cell_type":"code","metadata":{"id":"pzfvwB8nvddW","colab_type":"code","colab":{}},"source":["#TU RESPUESTA AQUÍ"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"SyTSMMhbveIe","colab_type":"text"},"source":["
\n","Pincha aqui para ver la solución\n","
\n","suma = 0\n","cuenta = 0\n","print(f'valor inicial es :{suma}')\n","for elemento in lista:\n","  suma = suma + abs(elemento)\n","  cuenta = cuenta + 1\n","  print(f'suma parcial es: {suma}')\n","  print(f'conteo parcial es: {cuenta}')\n","print(f'la media de los elementos es: {suma/cuenta}')\n","
\n","
"]},{"cell_type":"markdown","metadata":{"id":"hxdrnsTGwYRb","colab_type":"text"},"source":["### Buscando si un elemento existe"]},{"cell_type":"code","metadata":{"id":"hzeuZvgPwljX","colab_type":"code","colab":{}},"source":["lista = [9,13,2,7,124,-5]\n","print(7 in lista)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"wePLho9SwwQe","colab_type":"text"},"source":["como lo harías sin usar in?"]},{"cell_type":"code","metadata":{"id":"Nh8gCr3mwz2g","colab_type":"code","colab":{}},"source":["#TU RESPUESTA AQUÍ"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"4NmLituWw012","colab_type":"text"},"source":["
\n","Pincha aqui para ver la solución\n","
\n","existe = False\n","elementoBuscado = 7\n","for item in lista:  \n","  if item ==elementoBuscado:\n","    existe = True    \n","    break\n","if existe==True:\n","  print(f\"El elemento {elementoBuscado} esta en la lista\")\n","else:\n","  print(f\"No hemos podido encontrar {elementoBuscado} en la lista\")\n","
\n","
"]},{"cell_type":"markdown","metadata":{"id":"Ni6ZH2k6yzvt","colab_type":"text"},"source":["### Buscando el elemento más grande/pequeño de la lista"]},{"cell_type":"code","metadata":{"id":"CAOfVCRxzD-c","colab_type":"code","colab":{}},"source":["lista = [9,13,2,7,124,-5]\n","print(max(lista))\n","print(min(lista))"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"ESfBQB0szMrS","colab_type":"text"},"source":["como lo harías sin usar max/min?"]},{"cell_type":"code","metadata":{"id":"6WhuM38BzPwG","colab_type":"code","colab":{}},"source":["#TU RESPUESTA AQUÍ"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"qrO5SK2wzQs7","colab_type":"text"},"source":["
\n","Pincha aqui para ver la solución\n","
\n","_max = None\n","_min = None\n","for item in lista:\n","  if _max==None and _min == None:\n","    _max=item  \n","    _min=item\n","  else:\n","    if _max < item:\n","      _max = item\n","    if _min > item:\n","      _min = item\n","print (f'el mayor elemento de la lista es {_max}')\n","print (f'el menor elemento de la lista es {_min}')\n","
\n","
"]}]} -------------------------------------------------------------------------------- /pythonUPVX28.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX28.ipynb","provenance":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"yPB-IV1wFed7","colab_type":"text"},"source":["# Primero te lo explico"]},{"cell_type":"code","metadata":{"id":"jRtlJjj1FbyM","colab_type":"code","colab":{}},"source":["def suma3y5():\n"," print(f'el resultado es {3+5}')"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"Wt8mhDgrF4wo","colab_type":"text"},"source":["# Luego lo haces"]},{"cell_type":"code","metadata":{"id":"RouMwVWqF6_s","colab_type":"code","colab":{}},"source":["suma3y5()"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"azBzqHflHjGv","colab_type":"text"},"source":["y podemos añadir toda la funcionalidad que queramos ejecutar tal y como hacemos con los bloques de jupiter"]}]} -------------------------------------------------------------------------------- /pythonUPVX29.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX29.ipynb","provenance":[{"file_id":"1FcD2unoZ3WY8tS4ChKxwBBzbH8nTyIJu","timestamp":1576842310766}]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"yPB-IV1wFed7","colab_type":"text"},"source":["# Funciones poco genéricas, son poco versátiles"]},{"cell_type":"code","metadata":{"id":"jRtlJjj1FbyM","colab_type":"code","colab":{}},"source":["def suma3y5():\n"," print(f'el resultado es {3+5}')"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"ffktz0GJItzo","colab_type":"text"},"source":["## Los parámetros nos dan versatilidad"]},{"cell_type":"code","metadata":{"id":"gDYVuvbjIyCa","colab_type":"code","colab":{}},"source":["#ejemplo"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"Wt8mhDgrF4wo","colab_type":"text"},"source":["# Contextos"]},{"cell_type":"code","metadata":{"id":"RouMwVWqF6_s","colab_type":"code","colab":{}},"source":["variableGlobal = 7"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"RElrqLvIJCRY","colab_type":"code","colab":{}},"source":["def contextoDefuncion(parametro):\n"," variable = 7\n"," print(f'la variable global que hemos definido antes valia {variableGlobal}')\n"," print(f'el valor de la variable local es {variable}')\n"," print(f'y el parámetro con el que hemos llamado a la función vale {parametro}')"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"cywnpZk2JwDa","colab_type":"code","colab":{}},"source":["contextoDefuncion('entrada')"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"VG25OudIKB4K","colab_type":"code","colab":{}},"source":["print(f'la variable global que hemos definido antes valia {variableGlobal}')"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"zeoTTk5GJ_ly","colab_type":"code","colab":{}},"source":["print(f'el valor de la variable local es {variable}')"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"PgbWnz_hKImy","colab_type":"code","colab":{}},"source":["print(f'y el parámetro con el que hemos llamado a la función vale {parametro}')"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"ioV_sBAjKTsH","colab_type":"text"},"source":["Se pueden modificar variables globales dentro de funciones usando el indicador **global**"]},{"cell_type":"code","metadata":{"id":"KEvI7GLLN5Rf","colab_type":"code","colab":{}},"source":["#ejemplo"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"2ADSOUvlN4mI","colab_type":"text"},"source":["## Return"]},{"cell_type":"code","metadata":{"id":"6Wqd2m3ROCFP","colab_type":"code","colab":{}},"source":["numero = sum([3,6])\n","print(numero)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"SzRLbPPFOQn9","colab_type":"code","colab":{}},"source":["def suma(sumandoA,sumandoB):\n"," total = sumandoA + sumandoB\n"," return total"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"74ASAqgbOcbT","colab_type":"code","colab":{}},"source":["numero = suma(5,7)\n","print(numero)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"HZpY4avUOoiz","colab_type":"text"},"source":["* finaliza la ejecución\n","* en la medida de lo posible 1 por función\n","* se pueden devolver varios datos separados por ,\n","* pero mejor devolver objetos"]}]} -------------------------------------------------------------------------------- /pythonUPVX30.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX30.ipynb","provenance":[{"file_id":"1LyGeIcQhrKSsl6mbiHnFAwbzuAmYHR0Q","timestamp":1576846420203},{"file_id":"1FcD2unoZ3WY8tS4ChKxwBBzbH8nTyIJu","timestamp":1576842310766}]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"yPB-IV1wFed7","colab_type":"text"},"source":["# Os acordais del import math de uno de los primeros videos?\n","-lo vimos cuando hablábamos de las palabras claves"]},{"cell_type":"code","metadata":{"id":"jRtlJjj1FbyM","colab_type":"code","colab":{}},"source":["import math"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"1E_X5TB3YdJq","colab_type":"text"},"source":["con los comandos help/dir podremos saber lo que hay en el módulo"]},{"cell_type":"code","metadata":{"id":"_nScupLTYF3C","colab_type":"code","colab":{}},"source":["help(math)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"O7Yomn0BY8g5","colab_type":"text"},"source":["y podemos usar las recetas de otros"]},{"cell_type":"code","metadata":{"id":"cLIStC7lYlpF","colab_type":"code","colab":{}},"source":["math.cos(math.pi)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"GyRVuaPMZBff","colab_type":"text"},"source":["pero a veces el módulo no esta?"]},{"cell_type":"code","metadata":{"id":"JwhJsmO3ZEBQ","colab_type":"code","colab":{}},"source":["import libxslt"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"MhBNXgXQCzvs","colab_type":"text"},"source":["lo podremos instalar de distintas maneras"]},{"cell_type":"markdown","metadata":{"id":"8R2Ee9WlDvgG","colab_type":"text"},"source":["### Creando nuestras propias recetas\n","vamos a crear libroderecetas.py con la constante de GRAVEDAD y la funcion miSuma\n","\n","### Ahora podemos usar tu libroderecetas"]},{"cell_type":"code","metadata":{"id":"UEPTTjRlDu8l","colab_type":"code","colab":{}},"source":["import libroderecetas"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"U8qnlt1tFCiz","colab_type":"text"},"source":["podremos acceder a la constante que hemos declarado"]},{"cell_type":"code","metadata":{"id":"QZlVT_y1FFos","colab_type":"code","colab":{}},"source":["libroderecetas.GRAVEDAD"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"Gdx60WATFHa-","colab_type":"text"},"source":["y usar la funcion suma"]},{"cell_type":"code","metadata":{"id":"6NfPZYVhFJaJ","colab_type":"code","colab":{}},"source":["print(libroderecetas.miSuma(3,7))"],"execution_count":0,"outputs":[]}]} -------------------------------------------------------------------------------- /pythonUPVX31.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX31.ipynb","provenance":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"rgBULjOHH9Go","colab_type":"text"},"source":["# MODULOS PAQUETES Y NAMESPACES\n","#### MÓDULOS\n","cada uno de los archivos .py que generamos en python se denominan módulos, y son considerados contenedores para organizar nuestro código\n","\n","#### PAQUETES\n","un paquete es un módulo que sirve para contener otros módulos y paquetes, en la práctica es un directorio que contiene un archivo '__init __.py'\n","\n","dentro de dicho directorio podremos tener almacenados otros módulos o paquetes\n","![](https://i.imgur.com/OGmF7Kk.png)"]},{"cell_type":"code","metadata":{"id":"znedC9URGwiQ","colab_type":"code","colab":{}},"source":["import libroderecetas2 #importamos un modulo\n","import estanteria.libroderecetas1 # un modulo incluido dentro de un paquete"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"x80kfJR6J_xh","colab_type":"text"},"source":["### Espacios de nombres (namespaces)\n","le diremos a python de que libro de recetas ó estantería (módulo ó paquete) queremos que nos de información ó use funciones"]},{"cell_type":"code","metadata":{"id":"8BC03Mo1KYhG","colab_type":"code","colab":{}},"source":["print (libroderecetas2.CONST)\n","print (estanteria.libroderecetas1.CONST)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"OUnND5JjLRjs","colab_type":"text"},"source":["Es como pedirle la receta de la hamburgesa del libro de recetas clásico ó la hamburguesa del libro de recetas vegano, la receta se llama igual pero dependiendo del libro de recetas es una cosa o otra."]},{"cell_type":"markdown","metadata":{"id":"Meu-B6dSMxyN","colab_type":"text"},"source":["## organizando nuestro código\n","\n","* src\n"," * principal .py\n"," * paquetededatos\n"," * transacciones.py\n"," * paquetedevisualización\n"," * graficas.py\n"," * plantillas.py\n"," * paqueteconfuncionesauxisliares\n"," * auxiliaresmatematicas.py\n"," * auxiliaresfechas.py\n","* assets \n"," * img\n"," * fondo.png\n"," * logo.png\n"," * language\n"," * spanish.json\n"," * english.json\n"," "]}]} -------------------------------------------------------------------------------- /pythonUPVX32.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX32.ipynb","provenance":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"C3KVf_79OviL","colab_type":"text"},"source":["# TAXI!"]},{"cell_type":"code","metadata":{"id":"MD0r4YrVOs6_","colab_type":"code","colab":{}},"source":["mitexto = \"el perro de san roque no tiene rabo\""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"nfHcRDQEO5vb","colab_type":"code","colab":{}},"source":["help(str)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"Tb7Xkmv8Rhqt","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"c31a02bb-082e-4cf3-b367-cf13dc8b722f","executionInfo":{"status":"ok","timestamp":1577365354883,"user_tz":-60,"elapsed":550,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}}},"source":["str.title(mitexto)"],"execution_count":22,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'El Perro De San Roque No Tiene Rabo'"]},"metadata":{"tags":[]},"execution_count":22}]},{"cell_type":"markdown","metadata":{"id":"ycbujZl3R1yM","colab_type":"text"},"source":["### pero **mitexto** es de tipo str podriamos tal vez..."]},{"cell_type":"code","metadata":{"id":"TLRDoo-TPFYY","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"4aee7c97-ede0-4e64-bae5-d99175369e6c","executionInfo":{"status":"ok","timestamp":1577365358236,"user_tz":-60,"elapsed":693,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}}},"source":["mitexto.title()"],"execution_count":23,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'El Perro De San Roque No Tiene Rabo'"]},"metadata":{"tags":[]},"execution_count":23}]},{"cell_type":"markdown","metadata":{"id":"4OI4pVBXQRPA","colab_type":"text"},"source":["## encadenando llamadas"]},{"cell_type":"code","metadata":{"id":"6PJUaHoQQLrB","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"9bd8ef49-6333-41f3-fe0c-249e96cc50c3","executionInfo":{"status":"ok","timestamp":1577364550459,"user_tz":-60,"elapsed":569,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}}},"source":["mitexto.replace('san','mr').title()"],"execution_count":8,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'El Perro De Don Roque No Tiene Rabo'"]},"metadata":{"tags":[]},"execution_count":8}]}]} -------------------------------------------------------------------------------- /pythonUPVX33.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX33.ipynb","provenance":[],"collapsed_sections":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"C3KVf_79OviL","colab_type":"text"},"source":["# Conociendo los STR\n","Cadenas encadenadas..."]},{"cell_type":"code","metadata":{"id":"MD0r4YrVOs6_","colab_type":"code","colab":{}},"source":["refran = \"el perro de san roque no tiene rabo\""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"zHKE26_S8MDj","colab_type":"code","colab":{}},"source":["refran = refran + 'porque ramón rodriguez se lo ha robado'"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"QB5sEfah8S7b","colab_type":"code","colab":{}},"source":["print(refran) # cuidado con los espacios"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"KLz9x23s8lDz","colab_type":"text"},"source":["# Las \\ nos ayudan a organizarnos"]},{"cell_type":"code","metadata":{"id":"O_6YR74T8ppZ","colab_type":"code","colab":{}},"source":["refran = \"el perro de san roque no tiene rabo porque ramón rodriguez se lo ha robado, esto es un refrán típico en España.\""],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"KJDjIx5h9M6A","colab_type":"text"},"source":["Lineas de código muy largas dificultan su posterior legibilidad podemos cortar las cadenas con \\"]},{"cell_type":"code","metadata":{"id":"o3BkYe089WjA","colab_type":"code","colab":{}},"source":["refran = \"el perro de san roque no tiene rabo \"\\\n"," \"porque ramón rodriguez se lo ha robado,\"\\\n"," \" esto es un refrán típico en España.\""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"Uz9Ajtyo9oTr","colab_type":"code","colab":{}},"source":["print(refran)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"B4a9y_fV9xwk","colab_type":"text"},"source":["Cuidado con añadir texto despues de la \\ (incluso espacios)"]},{"cell_type":"code","metadata":{"id":"Ur9rpuin9100","colab_type":"code","colab":{}},"source":["refran = \"el perro de san roque no tiene rabo \"\\ \n"," \"porque ramón rodriguez se lo ha robado,\"\\\n"," \" esto es un refrán típico en España.\""],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"ztbgcwWm96lr","colab_type":"text"},"source":["El uso de \\ nos permite \"jugar\" con la indentación pero es conveniente mantener la coherencia\n","\n","Ejemplo de como NO hacerlo"]},{"cell_type":"code","metadata":{"id":"ILAj-Z54-G3N","colab_type":"code","colab":{}},"source":["refran = \"el perro de san roque no tiene rabo \"\\\n"," \"porque ramón rodriguez se lo ha robado,\"\\\n"," \" esto es un refrán típico en España.\""],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"VYNSFBw5-WgU","colab_type":"text"},"source":["Pero si queremos añadir saltos de línea?"]},{"cell_type":"code","metadata":{"id":"IbH7jCGx-fNM","colab_type":"code","colab":{}},"source":["refran = \"el perro de san roque no tiene rabo \\n\"\\\n"," \"porque ramón rodriguez se lo ha robado,\\n\"\\\n"," \" esto es un refrán típico en España.\""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"9OngFT76-jfB","colab_type":"code","colab":{}},"source":["print(refran)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"x1kE_rtr-rSh","colab_type":"text"},"source":["También podemos usar '''"]},{"cell_type":"code","metadata":{"id":"5DbyUZd5-uXJ","colab_type":"code","colab":{}},"source":["refran = '''el perro de san roque no tiene rabo \n"," porque ramón rodriguez se lo ha robado,\n"," esto es un refrán típico en España.'''"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"SryQUegp-zGY","colab_type":"code","outputId":"7f37f1ed-8749-41a5-afae-e99c443251e4","executionInfo":{"status":"ok","timestamp":1578484058454,"user_tz":-60,"elapsed":870,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}},"colab":{"base_uri":"https://localhost:8080/","height":68}},"source":["print (refran)"],"execution_count":0,"outputs":[{"output_type":"stream","text":["el perro de san roque no tiene rabo \n"," porque ramón rodriguez se lo ha robado,\n"," esto es un refrán típico en España.\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"FTYn5YGx-6Pn","colab_type":"text"},"source":["pero teniendo cuidado con la indentación"]}]} -------------------------------------------------------------------------------- /pythonUPVX34.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX34.ipynb","provenance":[],"collapsed_sections":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"CDndDjyAB7iL","colab_type":"text"},"source":["# Trabajando con cadenas"]},{"cell_type":"code","metadata":{"id":"ZLaA3D-r_My7","colab_type":"code","colab":{}},"source":["refran = \"El perro de San Roque no tiene rabo ...\""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"kJ_VynjYCdUA","colab_type":"code","colab":{}},"source":["len(refran)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"8FlS00krCoIh","colab_type":"text"},"source":["podemos acceder a los carácteres que componen la cadena por su índice"]},{"cell_type":"code","metadata":{"id":"i_4Oi_ZHCuSg","colab_type":"code","colab":{}},"source":["refran[0]"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"zESSZv2_C7B9","colab_type":"code","colab":{}},"source":["refran[39]"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"6bLFshh-DHWG","colab_type":"text"},"source":["incluso a trozos de cadena"]},{"cell_type":"code","metadata":{"id":"wfTiY95bDNk8","colab_type":"code","outputId":"830a5744-4593-40c9-fbe1-4209640755d9","executionInfo":{"status":"ok","timestamp":1578485219245,"user_tz":-60,"elapsed":775,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["refran[0:10]"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'El perro d'"]},"metadata":{"tags":[]},"execution_count":7}]},{"cell_type":"code","metadata":{"id":"cBO2h1kDDRgV","colab_type":"code","colab":{}},"source":["refran[10:20]"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"mKWHzK3IDXu9","colab_type":"code","outputId":"d32efccc-59e6-450a-affc-f4d26ead3962","executionInfo":{"status":"ok","timestamp":1578485259760,"user_tz":-60,"elapsed":779,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["refran[:20]"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'El perro de San Roqu'"]},"metadata":{"tags":[]},"execution_count":10}]},{"cell_type":"code","metadata":{"id":"bMD1-whWDaaE","colab_type":"code","outputId":"b952a6f3-9b9d-4e1a-a091-7c126fe1280c","executionInfo":{"status":"ok","timestamp":1578485273514,"user_tz":-60,"elapsed":566,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["refran[20:]"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'e no tiene rabo ...'"]},"metadata":{"tags":[]},"execution_count":11}]},{"cell_type":"code","metadata":{"id":"aQFQHsSeDfS9","colab_type":"code","outputId":"90a4993d-a50d-4e54-f9f5-b785f0c44086","executionInfo":{"status":"ok","timestamp":1578485292339,"user_tz":-60,"elapsed":591,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["refran[:-10]"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'El perro de San Roque no tien'"]},"metadata":{"tags":[]},"execution_count":12}]},{"cell_type":"code","metadata":{"id":"pwRhXyTjDlmu","colab_type":"code","outputId":"660b46c8-62b3-4315-a36d-44a4f7f23a35","executionInfo":{"status":"ok","timestamp":1578485313736,"user_tz":-60,"elapsed":549,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["refran[-10:]"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'e rabo ...'"]},"metadata":{"tags":[]},"execution_count":13}]}]} -------------------------------------------------------------------------------- /pythonUPVX35.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX35.ipynb","provenance":[{"file_id":"1LzDDyITYaZ99fXnNXZVF_dSh7fGSJ0TC","timestamp":1578485431044}]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"CDndDjyAB7iL","colab_type":"text"},"source":["#Funcionalidad de las cadenas"]},{"cell_type":"code","metadata":{"id":"ZLaA3D-r_My7","colab_type":"code","colab":{}},"source":["refran = \"El perro de San Roque no tiene rabo ... \""],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"nLWoQbp0Dx2S","colab_type":"text"},"source":["## También podemos acceder a funcionalidad más compleja"]},{"cell_type":"code","metadata":{"id":"HNPrDjwJCNNw","colab_type":"code","colab":{}},"source":["help(refran)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"jY5nrbTLCRIx","colab_type":"code","colab":{}},"source":["help(str)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"0nzNlrSaWuLW","colab_type":"text"},"source":["Todo bien explicado en la documentación de python\n","[https://docs.python.org/3.8/library/stdtypes.html#string-methods](https://docs.python.org/3.8/library/stdtypes.html#string-methods)"]},{"cell_type":"markdown","metadata":{"id":"Rfo8VSOXEZMg","colab_type":"text"},"source":["## veamos algunos de los más usados"]},{"cell_type":"code","metadata":{"id":"NtbPI6E2Egt_","colab_type":"code","outputId":"119bc1cb-3391-49ea-a8e6-5c92e9ffe1e5","executionInfo":{"status":"ok","timestamp":1578485563590,"user_tz":-60,"elapsed":600,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["refran.lower()"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'el perro de san roque no tiene rabo ...'"]},"metadata":{"tags":[]},"execution_count":3}]},{"cell_type":"code","metadata":{"id":"7RoBRTmzEk4c","colab_type":"code","outputId":"8f3008d6-1b5b-4e3c-e2ba-55de3d827e25","executionInfo":{"status":"ok","timestamp":1578485571902,"user_tz":-60,"elapsed":593,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["refran.upper()"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'EL PERRO DE SAN ROQUE NO TIENE RABO ...'"]},"metadata":{"tags":[]},"execution_count":4}]},{"cell_type":"code","metadata":{"id":"YGOmO7lhE1AD","colab_type":"code","outputId":"fe0b788f-5b06-43de-aff2-e4caf65066da","executionInfo":{"status":"ok","timestamp":1578485637950,"user_tz":-60,"elapsed":786,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["refran.capitalize()"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'El perro de san roque no tiene rabo ...'"]},"metadata":{"tags":[]},"execution_count":9}]},{"cell_type":"code","metadata":{"id":"O0KBymeME4Eq","colab_type":"code","outputId":"6c8ac6dd-e273-4d6b-c0fc-8c79e89abb76","executionInfo":{"status":"ok","timestamp":1578485675670,"user_tz":-60,"elapsed":587,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["refran.replace('no','si')"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'El perro de San Roque si tiene rabo ...'"]},"metadata":{"tags":[]},"execution_count":10}]},{"cell_type":"code","metadata":{"id":"-s30l-8nEnAX","colab_type":"code","outputId":"1851a8e6-0f86-4931-e33c-9cc7dff6069c","executionInfo":{"status":"ok","timestamp":1578485594007,"user_tz":-60,"elapsed":565,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["refran.find('Roque')"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["16"]},"metadata":{"tags":[]},"execution_count":6}]},{"cell_type":"code","metadata":{"id":"ENX08AVMEtiM","colab_type":"code","outputId":"b9e3b4f1-4367-4855-a6f5-549cc676540f","executionInfo":{"status":"ok","timestamp":1578485608702,"user_tz":-60,"elapsed":547,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["refran.find('roque')"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["-1"]},"metadata":{"tags":[]},"execution_count":7}]},{"cell_type":"code","metadata":{"id":"uzEf_6W3Ev1j","colab_type":"code","outputId":"019527a5-2f74-4d6f-f24e-3f3a45becd01","executionInfo":{"status":"ok","timestamp":1578485620000,"user_tz":-60,"elapsed":564,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["refran.lower().find('roque')"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["16"]},"metadata":{"tags":[]},"execution_count":8}]},{"cell_type":"code","metadata":{"id":"7jF1Ut0NFHHV","colab_type":"code","outputId":"7b4167b0-5ef5-4767-fa66-d3803eed125f","executionInfo":{"status":"ok","timestamp":1578485794781,"user_tz":-60,"elapsed":560,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["refran.strip()"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'El perro de San Roque no tiene rabo ...'"]},"metadata":{"tags":[]},"execution_count":16}]},{"cell_type":"code","metadata":{"id":"fQOhx-85FQbk","colab_type":"code","outputId":"8423f74f-b33c-4680-d043-a55293c21b95","executionInfo":{"status":"ok","timestamp":1578485757103,"user_tz":-60,"elapsed":581,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["refran.split()"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["['El', 'perro', 'de', 'San', 'Roque', 'no', 'tiene', 'rabo', '...']"]},"metadata":{"tags":[]},"execution_count":12}]},{"cell_type":"code","metadata":{"id":"HgkJxfdsFUxQ","colab_type":"code","outputId":"44703461-87d2-4f63-f2f7-cf3c50921ae1","executionInfo":{"status":"ok","timestamp":1578485770015,"user_tz":-60,"elapsed":550,"user":{"displayName":"Leo Salom","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBWrU9A9PXLcaPaMIEPXT8vKmpShYH2PtLETEIgGQ=s64","userId":"07470075073569383292"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["refran.split('no')"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["['El perro de San Roque ', ' tiene rabo ...']"]},"metadata":{"tags":[]},"execution_count":13}]}]} -------------------------------------------------------------------------------- /pythonUPVX36.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX36.ipynb","provenance":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"ml6rHqNjP7Wb","colab_type":"text"},"source":["## Ejercicio\n","\n","Estamos trabajando con una serie de datos los cuales vienen almacenados en cadenas del tipo:\n","\n","\"'Categoria': 'valor numérico' \"\n","\n","como por ejemplo:"]},{"cell_type":"code","metadata":{"id":"0upU06F9KRWq","colab_type":"code","colab":{}},"source":["datoProblema = \"Peso : 82.3\""],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"lZYxvvEEQdtx","colab_type":"text"},"source":["Crea una función que usando el método find obtenga la posicion del carácter : y en el return devuelva un float con el valor contenido tras dicho carácter "]},{"cell_type":"code","metadata":{"id":"YBymJnpbQdfo","colab_type":"code","colab":{}},"source":["def EncuentraValor(dato):\n"," pass\n"," #TU CÓDIGO AQUÍ"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"hFmjFikeQ_Q5","colab_type":"text"},"source":["Si lo has hecho bien la siguiente instrucción no deberia dar errores"]},{"cell_type":"code","metadata":{"id":"Co9O5q5KRG0H","colab_type":"code","colab":{}},"source":["assert EncuentraValor(\"Peso : 82.3\")==82.3,'Ejercicio incompleto'\n","assert EncuentraValor(\"Peso : 33\")==33,'Estas usando parámetros bien?'"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"yzXHoOrjSpF3","colab_type":"text"},"source":["\n","\n","
\n","Pincha aqui para ver la solución\n","
\n","def EncuentraValor(dato):\n","    posicion = dato.find(':')\n","    valor = dato[posicion+1:]\n","    valor = float(valor)\n","    return valor\n","
\n","
"]}]} -------------------------------------------------------------------------------- /pythonUPVX37.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "colab_type": "text", 7 | "id": "ml6rHqNjP7Wb" 8 | }, 9 | "source": [ 10 | "## Códigos de caracteres\n", 11 | "\n", 12 | "Veamos un ejemplo de cómo trabaja Python (o cualquier otro lenguaje) con las cadenas de texto:" 13 | ] 14 | }, 15 | { 16 | "cell_type": "markdown", 17 | "metadata": { 18 | "colab_type": "text", 19 | "id": "lZYxvvEEQdtx" 20 | }, 21 | "source": [ 22 | "Veamos cómo almacena Python cualquier caracter de texto (letra, número, símbolo) " 23 | ] 24 | }, 25 | { 26 | "cell_type": "code", 27 | "execution_count": 10, 28 | "metadata": { 29 | "colab": {}, 30 | "colab_type": "code", 31 | "id": "YBymJnpbQdfo" 32 | }, 33 | "outputs": [ 34 | { 35 | "data": { 36 | "text/plain": [ 37 | "33" 38 | ] 39 | }, 40 | "execution_count": 10, 41 | "metadata": {}, 42 | "output_type": "execute_result" 43 | } 44 | ], 45 | "source": [ 46 | "letra=\"!\"\n", 47 | "ord(letra)" 48 | ] 49 | }, 50 | { 51 | "cell_type": "markdown", 52 | "metadata": { 53 | "colab_type": "text", 54 | "id": "hFmjFikeQ_Q5" 55 | }, 56 | "source": [ 57 | "También podemos obtener la letra correspondiente a un número del código" 58 | ] 59 | }, 60 | { 61 | "cell_type": "code", 62 | "execution_count": 12, 63 | "metadata": { 64 | "colab": {}, 65 | "colab_type": "code", 66 | "id": "Co9O5q5KRG0H" 67 | }, 68 | "outputs": [ 69 | { 70 | "data": { 71 | "text/plain": [ 72 | "'Y'" 73 | ] 74 | }, 75 | "execution_count": 12, 76 | "metadata": {}, 77 | "output_type": "execute_result" 78 | } 79 | ], 80 | "source": [ 81 | "chr(89)" 82 | ] 83 | }, 84 | { 85 | "cell_type": "markdown", 86 | "metadata": { 87 | "colab_type": "text", 88 | "id": "lZYxvvEEQdtx" 89 | }, 90 | "source": [ 91 | "Podemos ver también los códigos de todos los caracteres de una cadena:" 92 | ] 93 | }, 94 | { 95 | "cell_type": "code", 96 | "execution_count": 13, 97 | "metadata": { 98 | "colab": {}, 99 | "colab_type": "code", 100 | "id": "Co9O5q5KRG0H" 101 | }, 102 | "outputs": [ 103 | { 104 | "name": "stdout", 105 | "output_type": "stream", 106 | "text": [ 107 | "69 108 32 112 101 114 114 111 32 100 101 32 82 111 113 117 101 " 108 | ] 109 | } 110 | ], 111 | "source": [ 112 | "cadena=\"El perro de Roque\"\n", 113 | "for letra in cadena:\n", 114 | " print(ord(letra),end=\" \")" 115 | ] 116 | }, 117 | { 118 | "cell_type": "markdown", 119 | "metadata": { 120 | "colab_type": "text", 121 | "id": "lZYxvvEEQdtx" 122 | }, 123 | "source": [ 124 | "Podemos utilizar esta forma de almacenar los caracteres para encriptar un mensaje de forma sencilla con una encriptación por desplazamiento, también conocida como cifrado César (https://es.wikipedia.org/wiki/Cifrado_C%C3%A9sar):" 125 | ] 126 | }, 127 | { 128 | "cell_type": "code", 129 | "execution_count": 15, 130 | "metadata": {}, 131 | "outputs": [ 132 | { 133 | "name": "stdout", 134 | "output_type": "stream", 135 | "text": [ 136 | "El perro de Roque\n", 137 | "Ls'wlyyv'kl'Yvx|l\n", 138 | "El perro de Roque\n" 139 | ] 140 | } 141 | ], 142 | "source": [ 143 | "cadena=\"El perro de Roque\"\n", 144 | "cadenacodificada=\"\"\n", 145 | "desplazamiento=7\n", 146 | "for letra in cadena:\n", 147 | " cadenacodificada=cadenacodificada+chr(ord(letra)+desplazamiento)\n", 148 | "cadenadecodificada=''\n", 149 | "for letra in cadenacodificada:\n", 150 | " cadenadecodificada=cadenadecodificada+chr(ord(letra)-desplazamiento)\n", 151 | "\n", 152 | "print(cadena)\n", 153 | "print(cadenacodificada)\n", 154 | "print(cadenadecodificada)" 155 | ] 156 | }, 157 | { 158 | "cell_type": "code", 159 | "execution_count": null, 160 | "metadata": {}, 161 | "outputs": [], 162 | "source": [] 163 | } 164 | ], 165 | "metadata": { 166 | "colab": { 167 | "name": "pythonUPVX36.ipynb", 168 | "provenance": [] 169 | }, 170 | "kernelspec": { 171 | "display_name": "Python 3", 172 | "language": "python", 173 | "name": "python3" 174 | }, 175 | "language_info": { 176 | "codemirror_mode": { 177 | "name": "ipython", 178 | "version": 3 179 | }, 180 | "file_extension": ".py", 181 | "mimetype": "text/x-python", 182 | "name": "python", 183 | "nbconvert_exporter": "python", 184 | "pygments_lexer": "ipython3", 185 | "version": "3.7.6" 186 | } 187 | }, 188 | "nbformat": 4, 189 | "nbformat_minor": 1 190 | } 191 | -------------------------------------------------------------------------------- /pythonUPVX38.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX38.ipynb","provenance":[],"authorship_tag":"ABX9TyPZJ4hZNCJ4FI7OcGhEXz5B"},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"SEs7KhlnFPJ3","colab_type":"text"},"source":["# TRABAJANDO CON ARCHIVOS DE TEXTO"]},{"cell_type":"code","metadata":{"id":"-Z7geWwjbTCX","colab_type":"code","colab":{}},"source":["#el método open y el sandwich open/close\n","archivo = open('ejercicio.csv')\n","archivo"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"1H7_fydqFWNF","colab_type":"code","colab":{}},"source":["import os\n","os.getcwd()"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"cSUbypbHFYAU","colab_type":"code","colab":{}},"source":["archivo.close()\n","archivo"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"Uo7M9_9HGMjB","colab_type":"text"},"source":["#### modos de apertura de ficheros\n","\n","| Indicador | Modo de apertura | Ubicación del puntero |\n","|-----------|------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------|\n","| r | Solo lectura | Al inicio del archivo |\n","| rb | Solo lectura en modo binario | Al inicio del archivo |\n","| r+ | Lectura y escritura | Al inicio del archivo |\n","| rb+ | Lectura y escritura en modo binario | Al inicio del archivo |\n","| w | Solo escritura. Sobreescribe el archivo si existe. Crea el archivo si no existe | Al inicio del archivo |\n","| wb | Solo escritura en modo binario. Sobreescribe el archivo si existe. Crea el archivo si no existe | Al inicio del archivo |\n","| w+ | Escritura y lectura. Sobreescribe el archivo si existe. Crea el archivo si no existe | Al inicio del archivo |\n","| wb+ | Escritura y lectura en modo binario. Sobreescribe el archivo si existe. Crea el archivo si no existe | Al inicio del archivo |\n","| a | Añadido (agregar contenido). Crea el archivo si éste no existe | Si el archivo existe, al final de éste. Si el archivo no existe, al comienzo |\n","| ab | Añadido en modo binario (agregar contenido). Crea el archivo si éste no existe | Si el archivo existe, al final de éste. Si el archivo no existe, al comienzo |\n","| a+ | Añadido (agregar contenido) y lectura. Crea el archivo si éste no existe. | Si el archivo existe, al final de éste. Si el archivo no existe, al comienzo |\n","| ab+ | Añadido (agregar contenido) y lectura en modo binario. Crea el archivo si éste no existe | Si el archivo existe, al final de éste. Si el archivo no existe, al comienzo |"]},{"cell_type":"markdown","metadata":{"id":"KRTuaBFUGctS","colab_type":"text"},"source":["#### MÉTODOS DEL OBJETO FILE\n","##### read"]},{"cell_type":"code","metadata":{"id":"8nchKjKMGcdh","colab_type":"code","colab":{}},"source":["archivo = open('ejercicio.csv', 'r') \n","contenido = archivo.read() ## ojo con los \\n\n","print(contenido)\n","archivo.close()"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"iA9jLETKGuwX","colab_type":"text"},"source":["##### readline"]},{"cell_type":"code","metadata":{"id":"m_EmLuaAGl9J","colab_type":"code","colab":{}},"source":["archivo = open('ejercicio.csv', 'r') \n","linea0 = archivo.readline()\n","linea1 = archivo.readline()\n","print linea0\n","print linea1\n","archivo.close()"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"JmsVqnoNGw7v","colab_type":"text"},"source":["##### readlines"]},{"cell_type":"code","metadata":{"id":"WPOm0eonGxU_","colab_type":"code","colab":{}},"source":["archivo = open(\"ejercicio.csv\", \"r\")\n","for linea in archivo.readlines():\n"," print(linea)\n","archivo.close()"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"R6KM2u3HHFZc","colab_type":"text"},"source":["##### tell"]},{"cell_type":"code","metadata":{"id":"RDti_GCOHGqf","colab_type":"code","colab":{}},"source":["archivo = open('ejercicio.csv', 'r') \n","print archivo.tell()\n","linea0 = archivo.readline()\n","print archivo.tell()\n","archivo.close()"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"O_tFxeYNHMPf","colab_type":"text"},"source":["##### seek"]},{"cell_type":"code","metadata":{"id":"HYGK7OhUHNiV","colab_type":"code","colab":{}},"source":["archivo = open('ejercicio.csv', 'r') \n","archivo.read()\n","print archivo.tell()\n","archivo.seek(0)\n","print archivo.tell()\n","archivo.close()"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"jEcFMfnkHSJd","colab_type":"text"},"source":["##### write"]},{"cell_type":"code","metadata":{"id":"pE9BXUpRHTTc","colab_type":"code","colab":{}},"source":["archivo = open(\"prueba_escritura.extension\",'w+')\n","archivo.write('nueva cadena en el archivo')\n","archivo.close()"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"n0i2JjR2HeNb","colab_type":"text"},"source":["##### flush"]},{"cell_type":"code","metadata":{"id":"N2guYcFkHfhq","colab_type":"code","colab":{}},"source":["archivo = open(\"prueba_escritura.extension\",'a+')\n","archivo.write('cadena para flushear')"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"6VX34OlPHiti","colab_type":"code","colab":{}},"source":["archivo.flush()"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"mXAEc42PHlNG","colab_type":"code","colab":{}},"source":["archivo.close()"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"JlOkYb-JHqwj","colab_type":"text"},"source":["##### with open"]},{"cell_type":"code","metadata":{"id":"OemRqtUfHsXb","colab_type":"code","colab":{}},"source":["with open(\"prueba_escritura.extension\",'r') as archivo:\n"," print(archivo.read())\n","print(archivo.read())"],"execution_count":0,"outputs":[]}]} -------------------------------------------------------------------------------- /pythonUPVX39.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pythonUPVX39.ipynb","provenance":[],"authorship_tag":"ABX9TyNpmDRGKGvoYfkVgFZWxGdy"},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"BIDvy65zKsBA","colab_type":"text"},"source":["## EJEMPLOS DE EJERCICIOS\n","#### CONTAR LAS LINEAS DE UN ARCHIVO\n","Combina todo lo aprendido para contar las lineas que tiene el archivo ejercicio.csv"]},{"cell_type":"code","metadata":{"id":"h8fRv9W0Jw4w","colab_type":"code","colab":{}},"source":["# TU CÓDIGO AQUÍ"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"cbF_4bNKK1eL","colab_type":"text"},"source":["
\n","Pincha aqui para ver la solución\n","
\n","manejador = open('ejercicio.csv')\n","cuenta = 0\n","for linea in manejador:\n","  cuenta = cuenta+1\n","print(f'el archivo tiene {cuenta} lineas')\n","manejador.close()\n","
\n","
"]},{"cell_type":"markdown","metadata":{"id":"KCUyHCjNNJeH","colab_type":"text"},"source":["## ENCONTRAR PALABRAS EN UN ARCHIVO\n","\n","Modifica el ejercicio anterior para que nos muestre en pantalla aquellas en las que aparece la palabra 'corriendo'"]},{"cell_type":"code","metadata":{"id":"WqeEqT_oNf7N","colab_type":"code","colab":{}},"source":["# TU CÓDIGO AQUÍ"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"96XCB7zFOJUT","colab_type":"text"},"source":["
\n","Pincha aqui para ver la solución\n","
\n","manejador = open('ejercicio.csv')\n","for linea in manejador:  \n","  if 'corriendo' in linea\n","    print(linea.strip()) #el strip nos sirve para quitar los \\n en linea\n","manejador.close()\n","
\n","
"]},{"cell_type":"markdown","metadata":{"id":"_4neVtyEPkFt","colab_type":"text"},"source":["## SELECCIONANDO ARCHIVOS\n","Modifica el primer ejercicio para que nos permita seleccionar que archivo queremos utilizar al contar las lineas usando el comando input."]},{"cell_type":"code","metadata":{"id":"4MOIlpdjPu27","colab_type":"code","colab":{}},"source":["# TU CÓDIGO AQUÍ"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"8_m9aOJRQR4Y","colab_type":"text"},"source":["
\n","Pincha aqui para ver la solución\n","
\n","nombrearchivo = input('Seleccione que fichero quiere tratar:')\n","manejador = open('ejercicio.csv')\n","cuenta = 0\n","for linea in manejador:\n","  cuenta = cuenta+1\n","print(f'el archivo {nombrearchivo} tiene {cuenta} lineas')\n","manejador.close()\n","
\n","
"]},{"cell_type":"markdown","metadata":{"id":"neeUhNlmQaYP","colab_type":"text"},"source":["### PROTECCIÓN DE ERRORES\n","Modifica el ejercicio anterior para evitar errores si el usuario escribe mal el nombre del archivo, cuando falle mostraremos un mensaje que diga, No se ha encontrado el archivo {nombrearchivo}"]},{"cell_type":"code","metadata":{"id":"oYRMRHByQvr5","colab_type":"code","colab":{}},"source":["# TU CÓDIGO AQUÍ"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"pfXtB8xFSGKX","colab_type":"text"},"source":["
\n","Pincha aqui para ver la solución\n","
\n","nombrearchivo = input('Seleccione que fichero quiere tratar:')\n","try:\n","  manejador = open('ejercicio.csv')\n","  cuenta = 0\n","  for linea in manejador:\n","    cuenta = cuenta+1\n","  print(f'el archivo {nombrearchivo} tiene {cuenta} lineas')\n","  manejador.close()\n","except:\n","  print(f'No se ha encontrado el archivo {nombrearchivo}')\n","
\n","
"]}]} -------------------------------------------------------------------------------- /pythonUPVX40.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Códigos de caracteres en fichero\n", 8 | "\n", 9 | "En los archivo adjuntos 'quijote.txt'y 'quijoteansi.txt hemos dejado los primeros párrafos del libro que comparte nombre con el archivo guardados con dos códigos de caracteres distintos, utf-8 y ansi.\n", 10 | "\n", 11 | "Vamos a ver qué pasa si cargamos un párrafo cualquiera de ambos ficheros y los imprimimos." 12 | ] 13 | }, 14 | { 15 | "cell_type": "code", 16 | "execution_count": 1, 17 | "metadata": {}, 18 | "outputs": [ 19 | { 20 | "data": { 21 | "text/plain": [ 22 | "'Puesto nombre, y tan a su gusto, a su caballo, quiso ponérsele a sÃ\\xad mismo, y en este pensamiento duró otros ocho dÃ\\xadas, y al cabo se vino a llamar don Quijote; de donde -como queda dicho- tomaron ocasión los autores desta tan verdadera historia que, sin duda, se debÃ\\xada de llamar Quijada, y no Quesada, como otros quisieron decir. Pero, acordándose que el valeroso AmadÃ\\xads no sólo se habÃ\\xada contentado con llamarse AmadÃ\\xads a secas, sino que añadió el nombre de su reino y patria, por Hepila famosa, y se llamó AmadÃ\\xads de Gaula, asÃ\\xad quiso, como buen caballero, añadir al suyo el nombre de la suya y llamarse don Quijote de la Mancha, con que, a su parecer, declaraba muy al vivo su linaje y patria, y la honraba con tomar el sobrenombre della.'" 23 | ] 24 | }, 25 | "execution_count": 1, 26 | "metadata": {}, 27 | "output_type": "execute_result" 28 | } 29 | ], 30 | "source": [ 31 | "\n", 32 | "# definimos una función que cargue todos los párrafos y seleccione uno \n", 33 | "def parrafo(numerodeparrafo):\n", 34 | " #primero cargamos el fichero\n", 35 | " fichero = open('quijote.txt')\n", 36 | " #lo leemos\n", 37 | " texto = fichero.read()\n", 38 | " #y seleccionamos el párrafo indicado en el parámetro \n", 39 | " parrafos = texto.split('\\n')\n", 40 | " while '' in parrafos: \n", 41 | " parrafos.remove('') \n", 42 | " parrafoseleccionado=parrafos[numerodeparrafo]\n", 43 | " \n", 44 | " #acordaos de cerrar el fichero si no lo habéis abierto con un with\n", 45 | " fichero.close() \n", 46 | " return(parrafoseleccionado)\n", 47 | "\n", 48 | "parrafo(8)\n" 49 | ] 50 | }, 51 | { 52 | "cell_type": "markdown", 53 | "metadata": {}, 54 | "source": [ 55 | "Incorporamos ahora un parámetro a la carga del fichero para indicar a Python el código de caracteres." 56 | ] 57 | }, 58 | { 59 | "cell_type": "code", 60 | "execution_count": 5, 61 | "metadata": {}, 62 | "outputs": [ 63 | { 64 | "ename": "UnicodeDecodeError", 65 | "evalue": "'utf-8' codec can't decode byte 0xed in position 88: invalid continuation byte", 66 | "output_type": "error", 67 | "traceback": [ 68 | "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", 69 | "\u001b[1;31mUnicodeDecodeError\u001b[0m Traceback (most recent call last)", 70 | "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 18\u001b[0m \u001b[0mfichero\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mclose\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 19\u001b[0m \u001b[1;32mreturn\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mparrafoseleccionado\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 20\u001b[1;33m \u001b[0mparrafo\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m8\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", 71 | "\u001b[1;32m\u001b[0m in \u001b[0;36mparrafo\u001b[1;34m(numerodeparrafo)\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[1;31m#lo leemos\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 9\u001b[1;33m \u001b[0mtexto\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfichero\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 10\u001b[0m \u001b[1;31m#y seleccionamos el párrafo indicado en el parámetro\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 11\u001b[0m \u001b[0mparrafos\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtexto\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msplit\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'\\n'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 72 | "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\codecs.py\u001b[0m in \u001b[0;36mdecode\u001b[1;34m(self, input, final)\u001b[0m\n\u001b[0;32m 320\u001b[0m \u001b[1;31m# decode input (taking the buffer into account)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 321\u001b[0m \u001b[0mdata\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mbuffer\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0minput\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 322\u001b[1;33m \u001b[1;33m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mconsumed\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_buffer_decode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0merrors\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfinal\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 323\u001b[0m \u001b[1;31m# keep undecoded input until the next call\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 324\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mbuffer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mconsumed\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 73 | "\u001b[1;31mUnicodeDecodeError\u001b[0m: 'utf-8' codec can't decode byte 0xed in position 88: invalid continuation byte" 74 | ] 75 | } 76 | ], 77 | "source": [ 78 | "def parrafo(numerodeparrafo):\n", 79 | " #primero cargamos el fichero\n", 80 | " #fichero = open('quijote.txt', \"r\", encoding=\"utf-8\")\n", 81 | " #fichero = open('quijote.txt', \"r\", encoding=\"ansi\")\n", 82 | " #fichero = open('quijoteansi.txt', \"r\", encoding=\"ansi\")\n", 83 | " fichero = open('quijoteansi.txt', \"r\", encoding=\"utf-8\")\n", 84 | " \n", 85 | " #lo leemos\n", 86 | " texto = fichero.read()\n", 87 | " #y seleccionamos el párrafo indicado en el parámetro \n", 88 | " parrafos = texto.split('\\n')\n", 89 | " while '' in parrafos: \n", 90 | " parrafos.remove('') \n", 91 | " \n", 92 | " parrafoseleccionado=parrafos[numerodeparrafo]\n", 93 | " \n", 94 | " #acordaos de cerrar el fichero si no lo habéis abierto con un with\n", 95 | " fichero.close() \n", 96 | " return(parrafoseleccionado)\n", 97 | "parrafo(8)\n" 98 | ] 99 | }, 100 | { 101 | "cell_type": "code", 102 | "execution_count": null, 103 | "metadata": {}, 104 | "outputs": [], 105 | "source": [] 106 | } 107 | ], 108 | "metadata": { 109 | "kernelspec": { 110 | "display_name": "Python 3", 111 | "language": "python", 112 | "name": "python3" 113 | }, 114 | "language_info": { 115 | "codemirror_mode": { 116 | "name": "ipython", 117 | "version": 3 118 | }, 119 | "file_extension": ".py", 120 | "mimetype": "text/x-python", 121 | "name": "python", 122 | "nbconvert_exporter": "python", 123 | "pygments_lexer": "ipython3", 124 | "version": "3.7.6" 125 | } 126 | }, 127 | "nbformat": 4, 128 | "nbformat_minor": 2 129 | } 130 | --------------------------------------------------------------------------------