GatoBooster

ma 5/oct - funciones

Oct 5th, 2021
815
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 9.33 KB | None | 0 0
  1. #######################################################################################################################################
  2. #######################################################################################################################################
  3. '''
  4. DISTANCIA ENTRE DOS NÚMEROS
  5. ESCRIBA UNA FUNCIÓN EN PYTHON QUE:
  6.  
  7.  
  8. Se llame distancia
  9. Reciba como parámetros formales dos números enteros a y b.
  10. Imprima la distancia que hay entre los dos números, tal y como se muestra en los ejemplos.
  11. Escriba sólo lo solicitado, cuyo código completará el siguiente programa en Python:
  12.  
  13. {{ STUDENT_ANSWER }}
  14. numero1 = int(input())
  15. numero2 = int(input())
  16. distancia(numero1,numero2)    
  17. '''
  18. #######################################################################################################################################
  19. def distancia(num1,num2) :
  20.     dist = abs (num1 - num2)
  21.     print("La distancia entre",num1,"y",num2,"es :",dist)
  22. #######################################################################################################################################
  23. #######################################################################################################################################
  24. '''
  25. NÚMEROS ANTIECLIPTICOS
  26.  
  27. Amelié ha quedado profundamente impresionada con el eclipse solar ocurrido el día 2 de Julio del 2019, es por ello que ha decidido denominar a todos aquellos enteros que NO contienen entre sus cifras el dígito 2 ni el dígito 7, como números AntiEclípticos.
  28.  
  29. POR EJEMPLO para ella, los números 13 , 1586 , 1345689 son AntiEclípticos, en cambio los números 1324, 123456789 y 7890 no lo son.
  30.  
  31. ESCRIBA UNA FUNCIÓN EN PYTHON QUE:
  32.  
  33. Se llame esAntiEcliptico
  34. Reciba como parámetro formal un número entero positivo o negativo X
  35. Retorne True si el número X es antieclíptico y False si no lo es
  36. CONSIDERACIONES:
  37.  
  38. Recuerde que si el número es negativo su último dígito también lo es
  39. '''
  40. #######################################################################################################################################
  41. def esAntiEcliptico (n) :
  42.     esAntiEclip = True
  43.     numero = abs(n)
  44.     while ( numero > 0 ) and esAntiEclip :
  45.         digito = numero % 10
  46.         if digito == 2 or digito == 7:
  47.             esAntiEclip = False
  48.         numero = numero // 10
  49.     return esAntiEclip
  50. #######################################################################################################################################
  51. #######################################################################################################################################
  52. '''
  53. CONJETURA DE COLLATZ
  54.  
  55. La conjetura de Collatz establece lo siguiente "Piensa un número cualquiera, que sea entero y mayor a cero. Luego :
  56.  
  57. Si es par, divídelo por dos.
  58. Si es impar, multiplícalo por tres y súmale uno.
  59. Repite este mismo proceso una y otra vez. Al final siempre obtendrás el mismo resultado el número 1"
  60. ESCRIBA UNA FUNCIÓN EN PYTHON QUE:
  61.  
  62.  
  63. Se llame conjeturaCollatz
  64. Reciba como parámetro formal un número entero N. Se asegura que N es mayor a 0.
  65. Muestre el valor inicial de N y todos los valores intermedios obtenidos al aplicar el proceso previamente descrito hasta que el valor de N  sea igual a 1, tal y como se muestra en los ejemplos.
  66. Escriba sólo lo solicitado, cuyo código completará el siguiente programa en Python:
  67.  
  68. {{ STUDENT_ANSWER }}
  69. n = int(input())
  70. conjeturaCollatz(n)
  71. '''
  72. #######################################################################################################################################
  73. def conjeturaCollatz(n) :
  74.     print(n,end="")
  75.     while True :
  76.         if n % 2 == 0 :
  77.             n = n // 2
  78.         else :
  79.             n = n * 3 + 1
  80.         print(",",n,end="")
  81.         if n == 1 :
  82.             print(".")
  83.             break
  84. #######################################################################################################################################
  85. #######################################################################################################################################
  86. '''
  87. MÉTODO DE NEWTON
  88. El Método de Newton permite encontrar, mediante aproximaciones sucesivas, una solución (desconocida) de f(x)=0. Lo anterior implica que se puede utilizar para aproximar la raíz cuadrada de n mediante la obtención de una solución de f(x) = x2– n  = 0.
  89.  
  90. En resumen para calcular  x = √n  se debe :
  91.  
  92. 1.- Hacer una aproximación inicial x1=n2
  93. 2.- Determinar una nueva aproximación utilizando la fórmula : xi+1=xi2+n2×xi,∀i>1
  94.  
  95. 3.- Sea delta un valor especificado, si |xi+1−xi|<delta  entonces xi+1 será una aproximación final, en caso contrario se vuelve al paso 2.
  96.  
  97. Defina una función en Python, que se llame newton. Esta función deberá :
  98.  
  99. Recibir como parámetros formales dos valores reales, correspondientes a n y delta.
  100. Calcular una aproximación de la raíz cuadrada de n, con el método descrito y retornar el valor calculado.
  101. '''
  102. #######################################################################################################################################
  103. def newton (n,delta) :
  104.     x = n/2
  105.     while True :
  106.         nextX = (x/2) + (n/(2*x))
  107.         diferencia = abs(nextX -x)
  108.         if diferencia < delta :
  109.             break
  110.         x = nextX
  111.     return nextX
  112. #######################################################################################################################################
  113. #######################################################################################################################################
  114. '''
  115. CENA NAVIDAD
  116. Javier y María están organizando su presupuesto para la cena de navidad. Dividen sus gastos en comida, bebidas y regalos. Para ellos lo mas importante es la comida, después las bebidas y al final los regalos. Cada grupo familiar, estará constituido por al menos un adulto y un niño.
  117.  
  118. Javier calculó que para la comida gastarán 5000 pesos por cada adulto y 3000 pesos por cada niño. El gasto en bebidas será de 3000 pesos por cada adulto que bebe alcohol y 2000 pesos por cada persona (adulto o niño) que no bebe alcohol.
  119.  
  120. María creó un programa en Python el cual lee la cantidad de dinero que actualmente tienen disponible y la cantidad de invitados a la cena organizados en:
  121.  
  122. adultos que beben alcohol (variable adultos_si)
  123. adultos que no beben alcohol (variable  adultos_no)
  124. niños (variable ninos)
  125. ESCRIBA UNA FUNCION EN PYTHON QUE:
  126.  
  127. Se llame presupuestoCena
  128. Reciba como parámetros formales el presupuesto, la cantidad de adultos que si beben alcohol, la cantidad de adultos que no beben alcohol y la cantidad de niños, tal y como se puede ver en el código al final del enunciado.
  129. Calcular la cantidad de dinero necesaria para la comida y bebidas para todos los invitados
  130. Calcular la cantidad de dinero que sobra del presupuesto, considerando los siguientes casos:
  131. Si el presupuesto no alcanza para comprar la comida, el presupuesto sobrante será el valor negativo de lo que falta para comprarla. Por ejemplo, si el presupuesto es 6000 y el valor de la comida es 8000 entonces el presupuesto sobrante será -2000, y es ese el valor que se debe retornar. En este caso se deberá ahorrar para poder comprar la comida.
  132. Si el presupuesto alcanza para comprar la comida, pero no las bebidas,  entonces se utilizará el presupuesto que sobra para cubrir parcialmente las bebidas. Por ejemplo, si el presupuesto es 10000, el costo de la comida es 8000 y el costo de las bebidas 5000, se pagará completamente la comida y se comprarán algunos bebestibles con el remanente,  así el presupuesto final será 0. En este caso los asistentes deberán colaborar con los bebestibles.
  133. Si el presupuesto alcanza para comprar la comida y las bebidas, el presupuesto sobrante será la diferencia del presupuesto inicial menos el costo de la comida y bebidas. Por ejemplo, si el presupuesto es 22000, el costo de la comida es 13000 y el costo de las bebidas es 7000 el presupuesto sobrante será 2000, y ese es el valor que se debe retornar. En este casos será posible comprar regalos para todos.
  134. CONSIDERACIONES:
  135.  
  136. Su respuesta se copiará en donde se indica en el código a continuación.
  137. {{ STUDENT_ANSWER }}
  138. presupuesto = int(input())
  139. adultos_si = int(input())
  140. adultos_no = int(input())
  141. ninos = int(input())
  142. print("Presupuesto navidad")
  143. respuesta = presupuestoCena(presupuesto, adultos_si , adultos_no , ninos)
  144. if respuesta > 0 :
  145.    print("Habrá reglos !!")
  146. elif respuesta == 0 :
  147.    print("Invitados deberan colaborar con las bebidas")
  148. else :
  149.    print("Se debe ahorrar para pagar la comida")
  150. '''
  151. #######################################################################################################################################
  152. def presupuestoCena (presup,siAlc,noAlc,ninos) :
  153.     comida = 5000*(siAlc+noAlc) + 3000*ninos
  154.     bebidas = 3000*siAlc + 2000*(noAlc+ninos)
  155.     if comida > presup :
  156.         respuesta = presup - comida
  157.     elif comida + bebidas > presup :
  158.         respuesta = 0
  159.     else :
  160.         respuesta = presup - (comida+bebidas)
  161.     print(respuesta)
  162.     return respuesta
  163. #######################################################################################################################################
  164. #######################################################################################################################################
  165.  
Advertisement
Add Comment
Please, Sign In to add comment