GatoBooster

Cuestionarioma 19/oct - programas completos con fns

Oct 19th, 2021
821
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. '''
  2. NOTA EQUIVALENTE
  3.  
  4. En una universidad no conocida las notas de los alumnos van de la A hasta la J. Un alumno no familiarizado con estas notas le pide a usted que haga un programa que transforme estas calificaciones en una escala de 1 a 7. La nota más alta es la A equivaliendo a 10 y la más baja es la J equivaliendo a 0.
  5.  
  6. A=10, B=9, C=8, D=7, E=6, F=5, G=4, H=3, I=2, J=0
  7.  
  8. Escriba un programa en PYTHON con funciones propias que:
  9.  
  10. Reciba una letra (NO es necesario validar) entre A y J.
  11. Determine el puntaje equivalente a esa letra.
  12. Calcule la nota equivalente a ese puntaje.
  13. Imprima la nota final, tal como se muestra en los ejemplos.
  14. Para calcular la nota utilice:   nota=1+(puntaje×0.6)
  15. '''
  16. ###################################################################################################################################
  17. def fnPuntaje(letra) :
  18.     if letra == "A" : puntaje = 10
  19.     elif letra == "B" : puntaje = 9
  20.     elif letra == "C" : puntaje = 8
  21.     elif letra == "D" : puntaje = 7
  22.     elif letra == "E" : puntaje = 6  
  23.     elif letra == "F" : puntaje = 5
  24.     elif letra == "G" : puntaje = 4
  25.     elif letra == "H" : puntaje = 3  
  26.     elif letra == "I" : puntaje = 2
  27.     else : puntaje = 0
  28.     return(puntaje)
  29.    
  30. def cambioEscala(ptje) :
  31.     nota = 1 + ptje * 0.6
  32.     return(nota)
  33.    
  34. # principal
  35. letra = input()
  36. ptjeLetra = fnPuntaje(letra)
  37. notaLetra = cambioEscala(ptjeLetra)
  38. print(notaLetra)
  39. ###################################################################################################################################
  40. '''
  41. COMPARACIÓN CANTIDAD DE DÍGITOS
  42. Escriba un programa en PYTHON con funciones propias que :
  43.  
  44. Dados dos números diferentes, entre 1 y 999999999 (debe validar), diga cual de los dos tiene más dígitos.
  45. El programa deberá discernir cual de los dos tiene mas dígitos, decir cual es la diferencia de esta cantidad y, en caso de tener la misma cantidad, decir tal situación y además cual es mayor, tal como se muestra en los ejemplos.
  46. '''
  47. ###################################################################################################################################
  48. def leerValidar(min,max) :
  49.     n = int(input())
  50.     while not (n >= min and n <= max) :
  51.         n = int(input())      
  52.     return(n)
  53.    
  54. def largo (num) :
  55.     largo = 0
  56.     while num > 0 :
  57.         largo = largo + 1
  58.         num = num // 10
  59.     return largo
  60.    
  61. def procesarNum (num1,num2) :
  62.     print("Los números son :",num1,"y",num2)
  63.     largo1 = largo(num1)
  64.     largo2 = largo(num2)
  65.     # print(num1,largo1,num2,largo2)
  66.     if largo1 > largo2 :
  67.         diferencia = largo1 - largo2
  68.         print(num1,"tiene",diferencia,"dígitos más.")
  69.     elif largo2 > largo1 :
  70.         diferencia = largo2 - largo1
  71.         print(num2,"tiene",diferencia,"dígitos más.")
  72.     else :
  73.         print("Tienen la misma cantidad de dígitos,",end=" ")
  74.         if num1 > num2 :
  75.             print("pero",num1,"es mayor.")
  76.         elif num2 > num1 :
  77.             print("pero",num2,"es mayor.")
  78.         else :
  79.             print("y son iguales.")
  80.  
  81. # principal
  82.  
  83. MIN = 1
  84. MAX = 999999999
  85. num1 = leerValidar(MIN,MAX)
  86. num2 = leerValidar(MIN,MAX)
  87. procesarNum (num1,num2)
  88. ###################################################################################################################################
  89. '''
  90. NÚMEROS PLUSCUAMPERFECTOS
  91. Un número x de n dígitos es pluscuamperfecto, si se cumple que la suma de la potencia n-ésima de cada uno de sus dígitos es igual a x.
  92.  
  93. Por ejemplo: El número 548834 es pluscuamperfecto, ya que ;
  94.  
  95. Su longitud es 6 (tiene 6 dígitos)
  96. La suma de cada uno de sus dígitos elevados a 6 : 56 + 46 + 86 + 86 + 36 + 46 es igual a 548834
  97. Escriba un programa en PYTHON con funciones propias que :
  98.  
  99. Lea un número x de tipo entero. Valide que  x ≥ 1.
  100. Analice el número y muestre por pantalla si es pluscuamperfecto o no lo es. Tal como se muestra en los ejemplos.
  101. '''
  102. ###################################################################################################################################
  103. def leerValidar () :
  104.     numero = int(input())
  105.     while not ( numero >= 1 ) :
  106.         numero = int(input())    
  107.     return numero
  108.    
  109. def fnLargo (num) :
  110.     largo = 0
  111.     while num > 0 :
  112.         largo = largo + 1
  113.         num = num // 10
  114.     return largo
  115.  
  116. def calculoSumaPotencias(num,long) :
  117.     suma = 0
  118.     while num > 0 :
  119.         digito = num % 10
  120.         suma = suma + digito ** long
  121.         num = num // 10
  122.     return suma
  123.  
  124. def esPluscaunperfecto (num) :
  125.     largoNum = fnLargo(num)
  126.     return num == calculoSumaPotencias(num,largoNum)
  127.  
  128. def procesarEscribir (num) :
  129.     if esPluscaunperfecto(num) :
  130.         print(num,"ES PLUSCUAMPERFECTO")
  131.     else :
  132.         print(num,"NO ES PLUSCUAMPERFECTO")
  133.    
  134. # programa principal
  135. num = leerValidar()
  136. procesarEscribir(num)
  137. ###################################################################################################################################
  138. '''
  139. PRIMOS SIN TRES
  140. Escriba un programa en PYTHON con funciones propias que:
  141.  
  142. Dado un número n (validando que 3 ≤ n ≤ 100), permita saber cuáles son los primeros números que son primos y que NO tienen un 3 entre sus dígitos en el rango entre 2 y n, imprimiendo por pantalla, tal como muestran los ejemplos.
  143. '''
  144. ###################################################################################################################################
  145. from math import sqrt, trunc
  146.  
  147. def leerValidar () :
  148.     num = int(input())
  149.     while not (num >= 3 and num <= 100) :
  150.             num = int(input())
  151.     return num
  152.  
  153. def fnEsPrimo(num) :
  154.     flagEsPrimo = True
  155.     for div in range (2,trunc(sqrt(num))+1) :
  156.         if num % div == 0 :
  157.             flagEsPrimo = False
  158.             break
  159.     return flagEsPrimo
  160.  
  161. def fnSin3 (num) :
  162.     flagSin3 = True
  163.     while num > 0 and flagSin3 :
  164.         dig = num % 10
  165.         if dig == 3 :
  166.             flagSin3 = False
  167.         num = num // 10
  168.     return flagSin3
  169.    
  170. def proceso (n) :
  171.     for aux in range(2,n+1) :
  172.         if fnEsPrimo(aux) :
  173.             if fnSin3(aux) :
  174.                 print(aux)
  175. #
  176. n = leerValidar()
  177. proceso(n)
  178. ###################################################################################################################################
  179.  
RAW Paste Data