GatoBooster

Cuestionario ma 12/oct - funciones

Oct 12th, 2021
751
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.78 KB | None | 0 0
  1. '''
  2. NÚMERO PALÍNDROMO
  3. Un palíndromo es una palabra, número o frase que se lee igual adelante que atrás.
  4.  
  5. ESCRIBA UNA FUNCIÓN EN PYTHON QUE:
  6.  
  7. Se llame palindromo
  8. Reciba como parámetro formal un número entero positivo.
  9. Determine si el número es o no palíndromo y retorne el valor de verdad True/False dependiendo de si el número lo es o no.
  10. Por ejemplo:
  11. '''
  12. ###################################################################################################################################
  13.  
  14. def palindromo (num) :
  15.     inverso = 0
  16.     copiaNum = num
  17.     while copiaNum > 0 :
  18.         digito = copiaNum % 10
  19.         inverso = inverso * 10 + digito
  20.         copiaNum = copiaNum // 10
  21.     return( num == inverso )
  22.  
  23. ###################################################################################################################################
  24. '''
  25. SUMA ARMÓNICA
  26. ESCRIBA UNA FUNCIÓN EN PYTHON QUE:
  27.  
  28. Se llame sumaArmonica
  29. Reciba como parámetro formal un número entero positivo n. ASUMA QUE  1≤n≤10000
  30. Calcule y retorne el valor de la siguiente sumatoria (real):
  31.  
  32. sumaArmonica(n)=1+12+13+14+....+1n
  33. Por ejemplo:
  34. '''
  35. ###################################################################################################################################
  36.  
  37. def sumaArmonica (n) :
  38.     sumatoria = 0
  39.     for denominador in range(1,n+1) :
  40.         sumatoria = sumatoria + 1/denominador
  41.     return sumatoria
  42.  
  43. ###################################################################################################################################
  44. '''
  45. NÚMERO S-DIVISIBLE
  46.  
  47. Se dice que un número entero N compuesto por S dígitos  d1d2d3...dS-1dS  es es S-divisible si cada uno de sus dígitos di  , 1 ≤ i ≤ S es divisor del número conformado por los dígitos d1d2...di.
  48.  
  49. Por ejemplo: el número 213 es un número S-divisible ya que:
  50.  
  51. 3 es divisor de 213
  52. 1 es divisor de 21
  53. 2 es divisor de 2
  54. ESCRIBA UNA FUNCION EN PYHTON QUE:
  55.  
  56. Se llame es_s_divisible
  57. Reciba como parámetro formal un número entero, ya está validado que es mayor a 0.
  58. Determine si el número es o no s-divisible y retorne el valor de verdad True si lo es y False si el número no es s-divisible.
  59. '''
  60. ###################################################################################################################################
  61.  
  62. def es_s_divisible(numero) :
  63.     flagEsSDiv = True
  64.     while numero > 0 and flagEsSDiv :
  65.         digito = numero % 10
  66.         if (digito == 0) or (numero % digito > 0) :
  67.             flagEsSDiv = False
  68.         else :
  69.             numero = numero // 10
  70.     return flagEsSDiv
  71.  
  72. ###################################################################################################################################
  73. '''
  74. SUCESIÓN PADOVAN
  75. ESCRIBA UNA FUNCIÓN EN PYTHON QUE:
  76.  
  77.  
  78. Se llame sucesionPadovan
  79. Reciba como parámetro formal un valor N. Se asegura que 1 ≤  N
  80. Imprima los primeros N términos de la sucesión de Padovan, tal como se muestra en los ejemplos.
  81. La sucesión de Padovan es = 1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37, ...
  82.  
  83. Dónde :
  84.  
  85. P1 = P2 = P3 = 1
  86. PN = PN-2 + PN-3     ,    para todo N ≥ 4
  87. Escriba sólo lo solicitado, cuyo código completará el siguiente programa en Python:
  88.  
  89. {{ STUDENT_ANSWER }}
  90. n = int(input())
  91. sucesionPadovan(n)
  92. '''
  93. ###################################################################################################################################
  94.  
  95. def sucesionPadovan(num) :
  96.     n1 = 1
  97.     n2 = 1
  98.     n3 = 1
  99.     nuevo = 1
  100.     for actual in range (1,num+1) :
  101.         if actual > 1 :
  102.             print(",",end=" ")
  103.         if actual > 3 :
  104.             nuevo = n1 + n2
  105.             n1 = n2
  106.             n2 = n3
  107.             n3 = nuevo
  108.         print(nuevo,end="")
  109.     print(".")
  110.  
  111. ###################################################################################################################################
  112. '''
  113. DÍGITO VERIFICADOR
  114. En Chile tanto el RUN como el RUT usan un "dígito verificador", como mecanismo de seguridad. El procedimiento utilizado se ejemplifica a continuación. Considerar que el RUT es: 12.678.579-?
  115.  
  116. Se procede a tomar los números que componen el RUT de derecha a izquierda, y se multiplica cada dígito por los números que componen la serie numérica 2, 3, 4, 5, 6, y 7. Al llegar al octavo número, se reinicia la serie a 2 nuevamente. Para el ejemplo esto se aplicaría así:
  117.  
  118. 9 x 2 = 18
  119. 7 x 3 = 21
  120. 5 x 4 = 20
  121. 8 x 5 = 40
  122. 7 x 6 = 42
  123. 6 x 7 = 42
  124. 2 x 2 = 4
  125. 1 x 3 = 3
  126.  
  127. Dichos valores deben ser sumados, en el ejemplo se obtiene 190.
  128.  
  129. A este valor se le aplica  “módulo 11”, es decir, lo que resta al dividirlo por 11.
  130.  
  131. 190 mod 11 = 3    (190/11=17,27...   11*17= 187   190-187=3)
  132.  
  133. Luego a 11 se le resta  el valor anterior, en este caso se obtiene 11 – 3 = 8
  134.  
  135. El resultado anterior corresponde al dígito verificador, a menos que el resultado sea 11 el dígito será 0 y si es 10 el dígito será K.
  136.  
  137. ESCRIBA UNA FUNCIÓN EN PYTHON QUE:
  138.  
  139. Se llame digitoVerificador
  140. Reciba como parámetro formal un número, correspondiente al RUT
  141. Calcule y retorne el caracter correspondiente al dígito verificador
  142. '''
  143. ###################################################################################################################################
  144.  
  145. def digitoVerificador (rut) :
  146.     suma = 0
  147.     mult = 2
  148.     while rut > 0 :
  149.         digito = rut % 10
  150.         suma = suma + digito * mult
  151.         mult = mult + 1
  152.         if mult == 8 :
  153.             mult = 2
  154.         rut = rut // 10
  155.     resto = suma % 11
  156.     dv = 11 - resto
  157.     if dv == 11 :
  158.         strDV = "0"
  159.     elif dv == 10 :
  160.         strDV = "K"
  161.     else :
  162.         strDV = str(dv)
  163.     return strDV
  164.    
  165. ###################################################################################################################################
  166.  
Advertisement
Add Comment
Please, Sign In to add comment