Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 8.py - diferentes versões de prime number
- def divisoresDeN_entre1eN (pN):
- listaDosDivisoresDeN = list() # lista vazia
- # listaDosDivisoresDeN = []
- potenciaisDivisores = range(1, pN+1)
- for d in potenciaisDivisores:
- bEncontreiUmDivisor = pN % d == 0
- if (bEncontreiUmDivisor):
- listaDosDivisoresDeN.append(d)
- # if
- # for
- return listaDosDivisoresDeN
- # def divisoresDeN_entre1eN
- def receberNumeroDeUtilizador(q):
- resposta = input(q)
- try:
- iResposta = int(resposta) # casting
- return iResposta
- except Exception as e:
- print ("Por favor, entre um inteiro, não uma frase.")
- return False
- # try-except
- # def receberNumeroDeUtilizador
- """
- Escreva um programa que permita visualizar
- todos os divisores de todos os números
- inteiros entre um [vInicial e um vFinal],
- entrados por um utilizador humano.
- Extra: no caso do número ser primo, faça ainda
- aparecer a informação de que é primo.
- """
- def sol(vInicial=555, vFinal=666):
- # algoritmo da troca
- if(vInicial>vFinal):
- temp = vFinal
- vFinal = vInicial
- vInicial = temp
- # if
- colTodosOsNumerosEntreInicialFinal =\
- range(vInicial, vFinal+1)
- for n in colTodosOsNumerosEntreInicialFinal:
- osSeusDivisores = \
- divisoresDeN_entre1eN(n)
- bPrime = len(osSeusDivisores)==2
- extra = "" if not bPrime else "!!Prime!!"
- frase=f"{n} : {osSeusDivisores} {extra}"
- print(frase)
- # for
- # def sol
- PVI = "Diz-me o valor inicial: "
- PVF = "Diz-me o valor fim: "
- while((vi:=receberNumeroDeUtilizador(PVI))==False):
- pass
- while((vf:=receberNumeroDeUtilizador(PVF))==False):
- pass
- print(f"vi: {vi} vf: {vf}")
- sol(vi, vf)
Advertisement
Add Comment
Please, Sign In to add comment