am_dot_com

FP 2022-11-07

Nov 7th, 2022 (edited)
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. # 8.py - diferentes versões de prime number
  2.  
  3.  
  4. def divisoresDeN_entre1eN (pN):
  5. listaDosDivisoresDeN = list() # lista vazia
  6. # listaDosDivisoresDeN = []
  7. potenciaisDivisores = range(1, pN+1)
  8. for d in potenciaisDivisores:
  9. bEncontreiUmDivisor = pN % d == 0
  10. if (bEncontreiUmDivisor):
  11. listaDosDivisoresDeN.append(d)
  12. # if
  13. # for
  14. return listaDosDivisoresDeN
  15. # def divisoresDeN_entre1eN
  16.  
  17. def receberNumeroDeUtilizador(q):
  18. resposta = input(q)
  19. try:
  20. iResposta = int(resposta) # casting
  21. return iResposta
  22. except Exception as e:
  23. print ("Por favor, entre um inteiro, não uma frase.")
  24. return False
  25. # try-except
  26. # def receberNumeroDeUtilizador
  27.  
  28. """
  29. Escreva um programa que permita visualizar
  30. todos os divisores de todos os números
  31. inteiros entre um [vInicial e um vFinal],
  32. entrados por um utilizador humano.
  33. Extra: no caso do número ser primo, faça ainda
  34. aparecer a informação de que é primo.
  35. """
  36.  
  37. def sol(vInicial=555, vFinal=666):
  38. # algoritmo da troca
  39. if(vInicial>vFinal):
  40. temp = vFinal
  41. vFinal = vInicial
  42. vInicial = temp
  43. # if
  44.  
  45. colTodosOsNumerosEntreInicialFinal =\
  46. range(vInicial, vFinal+1)
  47. for n in colTodosOsNumerosEntreInicialFinal:
  48. osSeusDivisores = \
  49. divisoresDeN_entre1eN(n)
  50. bPrime = len(osSeusDivisores)==2
  51. extra = "" if not bPrime else "!!Prime!!"
  52. frase=f"{n} : {osSeusDivisores} {extra}"
  53. print(frase)
  54. # for
  55. # def sol
  56.  
  57. PVI = "Diz-me o valor inicial: "
  58. PVF = "Diz-me o valor fim: "
  59. while((vi:=receberNumeroDeUtilizador(PVI))==False):
  60. pass
  61. while((vf:=receberNumeroDeUtilizador(PVF))==False):
  62. pass
  63.  
  64. print(f"vi: {vi} vf: {vf}")
  65. sol(vi, vf)
  66.  
  67.  
Advertisement
Add Comment
Please, Sign In to add comment