Академический Документы
Профессиональный Документы
Культура Документы
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"kernelspec": {
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.3"
},
"colab": {
"name": "Sesion_11_Funciones.ipynb",
"provenance": []
},
"cells": [
"cell_type": "markdown",
"metadata": {
"id": "FcnWdulLOmb3"
},
"source": [
"\n",
"\n",
"Todos estos materiales cuentan con una licencia <b>Creative Commons</b> de libre uso con
atribución.\n",
"\n",
"## Funciones\n",
"\n",
"La verdad es que hemos venido trabajando con funciones desde el comienzo en los retos
diarios. En Python, definimos una función con la siguiente estructura\n",
"\n",
"\n",
"\n",
},
"cell_type": "code",
"metadata": {
"id": "-qsP12_jOmb4",
"outputId": "2288ef47-137e-444a-91cc-1ccd2f192f39"
},
"source": [
"def suma(a,b):\n",
" \n",
" print(a+b)\n",
"\n",
"suma(3,4)"
],
"execution_count": null,
"outputs": [
"output_type": "stream",
"text": [
"7\n"
],
"name": "stdout"
},
"cell_type": "markdown",
"metadata": {
"id": "kufldfYjOmb_"
},
"source": [
"Como vemos aquí la función suma recibe dos parámetros a y b. E imprime la suma de estos
valores. \n",
"\n",
"Recordemos que en el caso particular de Python, el tipo de dato de las variables no necesita
ser pre-definido y puede cambiar durante la ejecución. Por ejemplo, usando la misma definición, si
enviamos los valores como cadenas de caracteres esta sería la ejecución."
]
},
"cell_type": "code",
"metadata": {
"id": "b_EYakXMOmcA",
"outputId": "e5c89a53-de2e-4d94-edbb-fda30ad45799"
},
"source": [
"def suma(a,b):\n",
" \n",
" print(a+b)\n",
"\n",
"suma(\"3\",\"4\")"
],
"execution_count": null,
"outputs": [
"output_type": "stream",
"text": [
"34\n"
],
"name": "stdout"
},
"cell_type": "markdown",
"metadata": {
"id": "F88nInp8OmcF"
},
"source": [
"\n",
"Vamos ahora a realizar definir dos funciones; una función que retorne un valor al final de la
ejecución."
},
"cell_type": "code",
"metadata": {
"id": "hEJcNdvZOmcF",
"outputId": "24360d68-d863-4ada-bbaf-eea8cd1917e5"
},
"source": [
"\n",
"def main():\n",
" print(resultado)\n",
"\n",
"main()"
],
"execution_count": null,
"outputs": [
"output_type": "stream",
"text": [
"7\n"
],
"name": "stdout"
},
"cell_type": "markdown",
"metadata": {
"id": "DkIrtU2FOmcK"
},
"source": [
"Como vemos, en Python tampoco es necesario definir previo a la ejecución el tipo de dato a
retornar. En este caso, la variable resultado recibe el valor retornado por suma(a,b).\n",
"\n",
"1. En qué casos puede ser más indicado retornar un valor específico?\n",
"\n",
"\n",
"\n",
"Como ya hemos venido trabajando con funciones, vamos a utilizar este espacio para reforzar
los conocimientos adquiridos hasta el momento mientras incluímos el uso de funciones.\n",
"\n",
"\n",
"2. Una variable total que vaya sumando el precio de los artículos\n",
"3. Una función adicional llamada imprimaProducto(nombre, precio) que reciba el nombre y
el precio de cada producto y los imprima.\n",
"4. Que después de cada artículo le pregunte al usuario si tiene o no más artículos a ingresar.
Si no tiene, el programa debe detenerse."
},
"cell_type": "code",
"metadata": {
"id": "fT62CiQPOmcL",
"outputId": "fa9c749b-ea7a-4ea3-acdb-0529518c742e",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 170
},
"source": [
"\n",
" print(x,y)\n",
"\n",
"suma=0\n",
"while True:\n",
" suma=suma+y\n",
" imprimaProducto(x,y)\n",
" z=input(\"Desea agregar mas articulos?\")\n",
" break\n",
"\n",
"\n",
" "
],
"execution_count": 14,
"outputs": [
"output_type": "stream",
"text": [
"a 100\n",
"b 400\n",
],
"name": "stdout"
},
{
"cell_type": "markdown",
"metadata": {
"id": "nTfISS9YOmcQ"
},
"source": [
" \n",
"Escribamos una función numAleatorio() que retorne un número aleatorio entre 100 y 130,
excepto los números 110, 115, 120 y \n",
"\n",
"Adicionalmente, una función principal que imprima diez números aleatorios (retornados por
la función numAleatorio()) alternando par, impar, comenzando por par."
},
"cell_type": "code",
"metadata": {
"id": "7eM-qAxrOmcQ",
"outputId": "44e2cf4d-c88f-485c-a001-0c7607f413c1",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 187
},
"source": [
"import random\n",
"def numAleatorio():\n",
" x=random.randint(100,121)\n",
" if x!=110 and x!=115 and x!=120:\n",
" break\n",
" print(numAleatorio())\n",
"\n",
"ppal() \n"
],
"execution_count": 26,
"outputs": [
"output_type": "stream",
"text": [
"109\n",
"108\n",
"118\n",
"100\n",
"113\n",
"107\n",
"102\n",
"108\n",
"103\n",
"102\n"
],
"name": "stdout"
}
]